SQL-запрос, объединяющий строки с одинаковым значением - PullRequest
2 голосов
/ 22 марта 2012

Мне нужно написать запрос, который создает представление, которое рассчитывает общую стоимость каждой продажи, учитывая количество и цену каждого купленного предмета.Представление должно вернуть дебет и общую стоимость.

В ответе каждое дебетовое число должно встречаться только один раз.

Заранее спасибо

Таблица ПУНКТ:

ID       NAME       PRICE
118      Jeans      100
120      Towel      20
127      Shirt      55

Таблица ДЕБЕТ:

DEBIT     ITEM     Quantity
100581    118      5
100581    120      1
100586    127      5

Ответы [ 3 ]

3 голосов
/ 22 марта 2012

Вы можете попробовать это с помощью простого JOIN;

SELECT d.DEBIT, SUM(d.Quantity*i.Price) SUM
FROM DEBIT d
JOIN ITEM i ON d.ITEM=i.ID
GROUP BY d.DEBIT;

Простая демонстрация здесь .

2 голосов
/ 22 марта 2012

Как насчет -

SELECT DEBIT.DEBIT, SUM(`ITEM`.`PRICE` * `DEBIT`.`Quantity`)
FROM `ITEM`
INNER JOIN `DEBIT`
    ON `ITEM`.`ID` = `DEBIT`.`ITEM`
GROUP BY `DEBIT`.`DEBIT`
0 голосов
/ 22 марта 2012

что-то вроде этого будет работать ...

SELECT d.id,SUM(i.price*d.quantity) as total_cost
FROM item i join debit d 
on i.id=d.item_id 
group by d.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...