SQL将两个不同的表中的两列相乘

时间:2015-08-12 18:23:33

标签: sql multiplying

我有两张桌子

Items                                        Inventory
-----------                                  -----------
Unit_Price                                   Item_Code
Item_Code                                    Order_Num
Item_Type                                    Item_In_Stk

我正在尝试计算单价超过25美元的所有库存商品 所以我通过多重Unit_Price和Item_In_Stk

来做这件事

这是我的代码

SELECT SUM(Unit_Price * Items_In_STk)
FROM Item, Inventory
WHERE Unit_Price > 25.00
AND Item.ITEM_CODE IN(3177,45219,23456);

我将Item_Code运算符中的AND数字放在25.00以上,但我做了数学运算并得到了错误的答案。我应该如何重新排列这个因为我认为它背后的逻辑是正确的

1 个答案:

答案 0 :(得分:2)

SELECT items.item_code, SUM(Unit_Price * Items_In_STk)
FROM Items JOIN Inventory
on items.item_code = inventory.item_code 
WHERE Unit_Price > 25.00 
AND Items.ITEM_CODE IN(3177,45219,23456)
group by items.item_code

您在item_code上缺少group by子句。此外,您错过了join条款。

修改:如果您只需要sum所有3个项目代码,则可以执行

SELECT SUM(Unit_Price * Items_In_STk)
FROM Items JOIN Inventory
on items.item_code = inventory.item_code 
WHERE Unit_Price > 25.00 
AND Items.ITEM_CODE IN(3177,45219,23456)