Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 01:01:05

Страниц: [1]
Печать
Автор Тема: Выборка сумм из связанной таблицы  (Прочитано 153 раз)
0 Пользователей и 1 Гость смотрят эту тему.
armageddance    ↓ 
27 Июнь, 2011, 04:24:34
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 29
Сила слова: 0

Есть две таблицы. В одной - инфа о клиенте 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    ↓ 
27 Июнь, 2011, 09:02:11 , спустя 4 часа 37 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 124
Сообщений: 3805
Сила слова: 3.26

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

SELECT user_id, count(*) AS cnt, sum(amount) AS total
FROM orders
GROUP BY user_id
 
или с объединением
Text

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
 

« Последнее редактирование: 27 Июнь, 2011, 09:02:11 от artoodetoo » Записан
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd