如何为Sum命令sql获取多个ID
我正试着用orders程序做一些食物食谱,我有一个这样的问题如何为Sum命令sql获取多个ID,sql,sql-server,Sql,Sql Server,我正试着用orders程序做一些食物食谱,我有一个这样的问题 SELECT Orders.Order_ID, Stock.ID, Stock.Ingredient_Name AS [Malzeme Adı], SUM(Ingredients.Recipe_Ingredient_Gr) AS [Toplam Gram], SUM(Ingredients.Recipe_Ingredient_Piece) AS [Toplam Adet
SELECT
Orders.Order_ID,
Stock.ID,
Stock.Ingredient_Name AS [Malzeme Adı],
SUM(Ingredients.Recipe_Ingredient_Gr) AS [Toplam Gram],
SUM(Ingredients.Recipe_Ingredient_Piece) AS [Toplam Adet],
SUM(Orders.Range_Piece * Stock.Unit_Price * Ingredients.Recipe_Ingredient_Gr) AS [Toplam Fiyat(gr)],
SUM(Orders.Range_Piece * Stock.Unit_Price * Ingredients.Recipe_Ingredient_Piece) AS [Toplam Fiyat(adet)]
FROM
Orders
INNER JOIN
Recipes_Orders ON Orders.Order_ID = Recipes_Orders.Order_ID
INNER JOIN
Recipes ON Recipes_Orders.Recipe_ID = Recipes.Recipes_ID
INNER JOIN
Ingredients ON Recipes.Recipes_ID = Ingredients.Recipe_ID
INNER JOIN
Stock ON Ingredients.Stock_ID = Stock.ID
WHERE
(Orders.Order_ID = 2063)
GROUP BY
Orders.Order_ID, Stock.ID, Stock.Ingredient_Name
返回以下结果:
Order|u ID | ID | Malzeme AdıToplam Gram | Toplam Adet | Toplam Fiyat(gr)| Toplam Fiyat(Adet)
2063 | 1102 |领域| 0 | 150 | 0 | 0,9
2063 | 1103 | Dere Otu | 150 | 0 | 0,45 | 0
这非常有效,但最近我稍微修改了我的程序,并在其中添加了Dates
table
Select *
From Dates
Where Order_ID = 2063
此查询返回:
日期|类型1类型2类型3类型4类型5订单|日期| ID | ID1 ID2 ID3 ID4 ID5
2020-11-13 00:00:00.000零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零
2020-11-14 00:00:00.000零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零
2020-11-15 00:00:00.000零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零
我需要做的是在Dates
表中,我需要每个ID1-ID2-ID3-ID4-ID5列代表配方ID,所以在我的第一次查询中,可以得到它,并给我所有配方ID之和的最终结果
嗯,我的英语有点有限,如果你觉得这不清楚,我会提高嗨-请你提供Dates表的create语句,以及你希望如何将其加入到其他表中?但是,如果这只是订单的日期(我怀疑是这样),为什么不在订单表中添加一个日期列,而不是创建这个新表呢?如果这不是日期表的用途,请解释一下它的用途?