【问题标题】:SQL multiplying two columns from two different tablesSQL将两个不同表中的两列相乘
【发布时间】:2015-11-05 12:06:03
【问题描述】:

我有两张桌子

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);

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

【问题讨论】:

    标签: sql multiplication


    【解决方案1】:
    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 子句。

    编辑:如果您只需要所有 3 个项目代码的 sum,您可以这样做

    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)
    

    【讨论】:

    • 感谢您的代码,我得到了正确的值,但我现在尝试将所有 3 个值加起来??
    • 看看修改后的版本。
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多