SELECT o.FEPOCode,os.SizeName,
A.ID AS ContactID,oc.OrderID,os.OrderID,
oc.CombName,o.OrderID,ocsd.Quantity,
ocsd.FreeSampleQuantity,ocsd.ChargeSampleQuantity
FROM
(
SELECT gc.ID FROM GarmentContract gc
WHERE EXISTS
(
SELECT DISTINCT gcf.GamentContactID FROM GarmentContract_FEPO gcf
)
) A
LEFT JOIN
(
SELECT DISTINCT gcf.GamentContactID,gcf.OrderiD
FROM GarmentContract_FEPO gcf
) B
ON A.ID = B.GamentContactID
LEFT JOIN [Order] o
ON B.OrderiD = o.OrderID
LEFT JOIN OrderSize os
ON o.OrderID = os.OrderID
LEFT JOIN OrderColor oc
ON os.OrderID = oc.OrderID
LEFT JOIN OrderColorSizeDetail ocsd
ON os.ItemID=ocsd.OrderSizeID AND oc.ItemID = ocsd.OrderColorID取出的结果有重复值,关键是在:SELECT DISTINCT gcf.GamentContactID,gcf.OrderiD FROM GarmentContract_FEPO gcf这一句,GamentContactID有重复,OrderiD 没重复,DISTINCT 没起作用,求办法?
WHERE EXISTS
(
SELECT DISTINCT gcf.GamentContactID FROM GarmentContract_FEPO gcf
)你的这个exists查询做什么用? exists是关联查询,可是你的exits子查询与GarmentContract没有任何的关联,在这里面distinct当然没什么作用
WHERE EXISTS
(
SELECT DISTINCT gcf.GamentContactID FROM GarmentContract_FEPO gcf
)这里你似乎是想要建立一种关系但是你并没有写出来这种关系
SELECT DISTINCT gcf.GamentContactID,gcf.OrderiD
FROM GarmentContract_FEPO gcf
这里不应该加DISTINCT 关键字的