使用 SQL Server,我嘗試使用 2 個表和 2 個資料庫將不同部件號的兩列相乘,但它給出了這個錯誤:
當不使用 EXISTS 引入子查詢時,選擇串列中只能指定一個運算式。
此 SQL 連接不同資料庫中的兩個表,并顯示保險杠的最終零件編號 (FinalPartNo) 和將其放在一起所需的輔助零件(螺栓、支架等)
詢問:
SELECT
tb_1.FinalPartNo,
tb_1.SubPartType,
tb_1.SubPart,
tb_1.FinalItemSubPartQuantity,
tb_2.PurchasedOrMfg,
tb_2.SalesWeek1,
tb_2.SalesWeek2
FROM [009Reports].[dbo].[ANC Parts] tb_1
JOIN [555].[cache].[PurchasingSupplyChainNeeds] tb_2 ON tb_1.FinalPartNo = tb_2.ItemNo
所以它顯示這個:

如果您查看表格并簡化事情,我突出顯示了 3 個部件號,它們都使用相同的 SubPart。其中兩個使用 4 個 FinalSubPartQuantity,一個在“安裝”步驟中使用 2 個。對于影像中突出顯示的 SalesWeek1,他們售出了兩個 FinalPartNo,需要 4 個 FinalSubPartQuantity,并且有兩個銷售額,因此該周總共需要 8 個。我不需要 FinalPartNo,但添加它以表明它是具有相同子部分的多個 FinalPartNo。
試圖用該周每個子部分的總計列來總結它們(52 周,僅顯示 2)。在此示例中,SalesWeek1 的 03CSFY-0500350 在多個 FinalPartNo 和多個步驟(制造、組裝、安裝)上總共可能有 150 個。
因此,我嘗試了一個子查詢以使 SubPart 不同,并將 TotalSalesWeek1 的 FinalSubPartQuantity x SalesWeek1 相乘,但出現錯誤。試圖弄清楚語法。
SELECT
tb_1.SubPart,
tb_1.FinalItemSubPartQuantity,
TotalSalesWeek1 = (SELECT DISTINCT(tb_1.SubPart),
tb_1.FinalItemSubPartQuantity * tb_2.SalesWeek1),
TotalSalesWeek2 = (SELECT DISTINCT(tb_1.SubPart),
tb_1.FinalItemSubPartQuantity * tb_2.SalesWeek2)
FROM [009Reports].[dbo].[ANC Parts] tb_1
JOIN [555].[cache].[PurchasingSupplyChainNeeds] tb_2 ON tb_1.FinalPartNo = tb_2.ItemNo
我只是想顯示:
SubPart/FinalSubPartQuantity/TotalSalesWk1/TotalSalesWk2/TotalSalesWk3/ 到第 52 周。所以它只顯示子部分、所有不同 FinalPartNo 的該部分的所有 FinalSubPartQuantity 金額的總和以及總銷售額 FinalItemPartQuantity * SalesWeek1、2、3...
總結:子部分以及那周該部分的銷售量。
uj5u.com熱心網友回復:
您不能將 設定TotalSalesWeek1為兩列(DISTINCT(tb_1.SubPart)和tb_1.FinalItemSubPartQuantity * tb_2.SalesWeek1)。
我建議如下
SELECT
tb_1.SubPart,
SUM(tb_1.FinalItemSubPartQuantity) FinalItemSubPartQuantity,
SUM(tb_1.FinalItemSubPartQuantity * tb_2.SalesWeek1) TotalSalesWeek1
SUM(tb_1.FinalItemSubPartQuantity * tb_2.SalesWeek2) TotalSalesWeek2
FROM [009Reports].[dbo].[ANC Parts] tb_1
JOIN [555].[cache].[PurchasingSupplyChainNeeds] tb_2 ON tb_1.FinalPartNo = tb_2.ItemNo
GROUP BY tb_1.SubPart
最后GROUP BY tb_1.SubPart的 表示您希望每個唯一的 SubPart 位于一行SUM中,說明中的 sSELECT表示您希望為每個組匯總這些值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/458885.html
上一篇:加入兩列,如果為空,則只加入一列
下一篇:如何在JSX中宣告一個變數?
