2012-03-22 80 views
2

我需要编写一个查询来创建一个视图,该视图通过考虑每个已购物品的数量和价格来计算每次销售的总成本。该观点应该返回借方和总成本。连接具有相同值的行的SQL查询

在答案中,每个借记号只应出现一次。

在此先感谢

表项目:

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

表借方:

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

借方是出售编号? – 2012-03-22 11:35:02

+0

这些表格如何关联?它是ITEM-> ID? – Slinky 2012-03-22 11:37:50

+0

我已经尝试了以下内容:SELECT debid,(item.price * debit.quantity)AS“Total Price”FROM借方,item WHERE debit.item = item.id – mrjasmin 2012-03-22 11:40:36

回答

2

怎么样 -

SELECT DEBIT.DEBIT, SUM(`ITEM`.`PRICE` * `DEBIT`.`Quantity`) 
FROM `ITEM` 
INNER JOIN `DEBIT` 
    ON `ITEM`.`ID` = `DEBIT`.`ITEM` 
GROUP BY `DEBIT`.`DEBIT` 
+0

谢谢:)它的工作完美:) – mrjasmin 2012-03-22 11:52:21

+0

在这里,我们通过接受我们使用的答案说谢谢。请接受@ Joachim的答案,因为他正在努力设置演示。 – nnichols 2012-03-22 13:02:21

-2

像这样的工作...

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; 
+0

您不想通过'i.price,d.quantity'进行分组。 – MatBailie 2012-03-22 11:42:25

+0

是啊..我知道..写错了.. !! – 2012-03-22 11:52:02

3

你可以用一个简单的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; 

简单演示here

+0

谢谢:)它的工作完美:) – mrjasmin 2012-03-22 11:51:57