ФорумРазработкаБазы данных → Выборка сумм из связанной таблицы

Выборка сумм из связанной таблицы

  • armageddance

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 27 июня 2011 г. 16:24

    Есть две таблицы. В одной - инфа о клиенте users, во второй - типы товаров и их количество - orders.
    Вид второй таблицы:

    product | count | login |
    | 1 | 8 | mama|
    | 2 | 12 | mama|
    | 2 | 6 | mama|
    | 2 | 2 | papa |
    …………………..
    Как мне выбрать из таблиц данные вот в такой форме(в которой будут указаны суммы количества товаров из всех записей для каждой группы соответственно)?

    login | product_sum1| product_sum2|
    mama | 8 | 18 |
    papa | 0 | 2 |
    набросал вот такой запрос, но не знаю как выбирать данные по конкретной группе товаров.

    SELECT login, sum(product) AS product_sum1, sum(product) AS product_sum2 FROM users INNER JOIN orders USING(login) GROUP BY login
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 июня 2011 г. 21:02, спустя 4 часа 37 минут 37 секунд

    чето у тебя с названиями бардак. колонка product что означает? если номер (идентификатор) товара, то зачем суммировать?
    если бы в твоей голове не было опилок, правильный запрос выглядел бы как

    SELECT user_id, count(*) AS cnt, sum(amount) AS total
    FROM orders
    GROUP BY user_id

    или с объединением

    SELECT a.*, u.login, p.name
    FROM
    (SELECT user_id, product_id, count(*) AS cnt, sum(amount) AS total
    FROM orders
    GROUP BY user_id, product_id) AS a INNER JOIN
    users AS u ON u.id=a.user_id INNER JOIN
    products AS p ON p.id=a.product_id


    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!