2015-08-12 2 views
1

У меня есть две таблицыSQL умножения двух столбцов из двух разных таблиц

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

я пытаюсь вычислить все товарно-материальных ценностей, которые имеют цену единицы более $ 25 так что им делать это, multipplying 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 оператора, которые в течение 2 5.00, но я сделал математику, и я получил неправильный ответ. Как я должен изменить это, потому что я думаю, что логика за ним правильно

ответ

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.

Edit: Если вам нужно только 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) 
+0

я получил правильные значения с вашим кодом, благодаря им, но теперь пытается добавить все 3 значения до ?? – Student214

+0

Посмотрите на измененную версию. –