簡體   English   中英

加入SQL查詢有問題嗎?

[英]Join SQL Query Problem?

首選語句:

SELECT
dbo.FG_FILLIN.PartNumber,
dbo.DropshipPackinglist.Shiplist_Qty,
dbo.DropshipPackinglist.Quantity
FROM   dbo.FG_FILLIN INNER JOIN
       dbo.DropshipPackinglist ON 
       dbo.FG_FILLIN.PartNumber = dbo.DropshipPackinglist.PartNumber
WHERE  (dbo.FG_FILLIN.Batch = 'CIP_HK_6')
GROUP BY 
dbo.FG_FILLIN.Batch,
dbo.FG_FILLIN.PartNumber,
dbo.FG_FILLIN.ItemNumber,
dbo.DropshipPackinglist.Shiplist_Qty,
dbo.DropshipPackinglist.Quantity

結果:

PartNumber  Shiplist_Qty    Quantity
P02-070161-00111-C100   6   3
P02-070161-10111-C100   6   3

第二名

SELECT PartNumber,COUNT(Batch) AS Created
FROM         dbo.FG_FILLIN
WHERE Batch='CIP_HK_6'
GROUP BY Batch,PartNumber

結果:

PartNumber  Created
P02-070161-00111-C100   3
P02-070161-10111-C100   1

加入這兩個查詢后,我無法顯示此查詢:RESULT NEEDED

PartNumber  Shiplist_Qty    Quantity  Created
P02-070161-00111-C100   6   3            3
P02-070161-10111-C100   6   3            1

它總是顯示:當我添加Count(dbo.FG_FILLIN.Batch) as Created

PartNumber  Shiplist_Qty    Quantity  Created
P02-070161-00111-C100   6   3            6
P02-070161-10111-C100   6   3            2

有什么建議嗎? 在此致謝!

使用子選擇:

   SELECT f.PartNumber,
          dpl.Shiplist_Qty,
          dpl.Quantity,
          (SELECT COUNT(Batch) AS Created
             FROM dbo.FG_FILLIN x
            WHERE x.batch = f.batch
              AND x.partnumber = f.partnumber
         GROUP BY Batch, PartNumber) AS created
     FROM dbo.FG_FILLIN f
    JOIN dbo.DropshipPackinglist dpl ON dpl.partnumber = f.partnumber
   WHERE f.Batch = 'CIP_HK_6'
GROUP BY f.Batch, f.PartNumber, f.ItemNumber, dpl.Shiplist_Qty, dpl.Quantity

使用JOIN到派生表/內聯視圖

   SELECT f.PartNumber,
          dpl.Shiplist_Qty,
          dpl.Quantity,
          x.created
     FROM dbo.FG_FILLIN f
     JOIN dbo.DropshipPackinglist dpl ON dpl.partnumber = f.partnumber
LEFT JOIN (SELECT t.partnumber,
                  t.batch,
                  COUNT(Batch) AS Created
             FROM dbo.FG_FILLIN t
         GROUP BY Batch, PartNumber) x ON x.partnumber = f.partnumber
                                      AND x.batch = f.batch
    WHERE f.Batch = 'CIP_HK_6'
 GROUP BY f.Batch, f.PartNumber, f.ItemNumber, dpl.Shiplist_Qty, dpl.Quantity

如果只想查看已created值的零件,請將“ LEFT JOIN”更改為“ JOIN”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM