[英]Selecting Distinct Values from Three Inner Join Tables
我有三個表Order_Inventory
, Order_List
和Track_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.