我有两张桌子
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以上,但我做了数学运算并得到了错误的答案。我应该如何重新排列这个因为我认为它背后的逻辑是正确的
答案 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)