簡體   English   中英

從三個內部聯接表中選擇不同的值

[英]Selecting Distinct Values from Three Inner Join Tables

我有三個表Order_InventoryOrder_ListTrack_Order 當我在此處執行相同的查詢時,我在gridView中獲得了相同訂單ID的重復值。 我想獲得獨特的價值。 附件是我的查詢和數據庫值的快照。

查詢以基於Order_Id跟蹤訂單:

SELECT
  Shopping_Order_List.Order_ID AS Order_ID, Shopping_Order_List.Product_ID,
  Shopping_Order_List.Product_Name, Shopping_Order_List.Order_Product_Quantity,
  Shopping_Order_List.Order_Discount, Shopping_Order_List.Order_Price,
  Shopping_TrackOrder.Track_ID, Shopping_TrackOrder.Status, Shopping_TrackOrder.Remarks
FROM Shopping_Order_Inventory
  INNER JOIN
    Shopping_Order_List ON Shopping_Order_Inventory.Order_ID = Shopping_Order_List.Order_ID
  INNER JOIN
    Shopping_TrackOrder ON Shopping_Order_Inventory.Order_ID = @OrderID

結果:

Track_ID  Product_ID  Product_Name  Status  Remarks         Order_ID
1         1           Nexus         False   Not Assembled   4
4         1           Nexus         True    Deliverd        4
7         1           Nexus         False   Stock Incoming  4
8         1           Nexus         False   Stock Incoming  4
1         2           Galaxy Young  False   Not Assembled   4
4         2           Galaxy Young  True    Deliverd        4
7         2           Galaxy Young  False   Stock Incoming  4
8         2           Galaxy Young  False   Stock Incoming  4
1         3           Galaxy S3     False   Not Assembled   4
4         3           Galaxy S3     True    Deliverd        4
7         3           Galaxy S3     False   Stock Incoming  4
8         3           Galaxy S3     False   Stock Incoming  4

如您所見,我為相同的訂單ID重復了值

最后一個JOINed表未鏈接鏈接

應該

SELECT
...
FROM Shopping_Order_Inventory
  INNER JOIN
    Shopping_Order_List ON Shopping_Order_Inventory.Order_ID = Shopping_Order_List.Order_ID
  INNER JOIN
    Shopping_TrackOrder ON Shopping_Order_Inventory.Order_ID = @OrderID 
                        AND Shopping_Order_Inventory.Order_ID =Shopping_Order_Inventory.Order_ID

您有多個要跟蹤的記錄,並且一個訂單的備注相同。

因此,要獲取不同的行,您不應該選擇軌道ID並使用不同的關鍵字來獲取不同的行。

SELECT DISTINCT
  Shopping_Order_List.Order_ID AS Order_ID, Shopping_Order_List.Product_ID,
  Shopping_Order_List.Product_Name, Shopping_Order_List.Order_Product_Quantity,
  Shopping_Order_List.Order_Discount, Shopping_Order_List.Order_Price,
  Shopping_TrackOrder.Status, Shopping_TrackOrder.Remarks
FROM Shopping_Order_Inventory
  INNER JOIN
    Shopping_Order_List ON Shopping_Order_Inventory.Order_ID = Shopping_Order_List.Order_ID
  INNER JOIN
    Shopping_TrackOrder ON Shopping_Order_Inventory.Order_ID = @OrderID

暫無
暫無

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

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