我写的脚本为
--拉取数据
SELECT
i.IncomingID,
ti.TaxID,
odi.OutgoingID,
tii.MatchQty AS taxmatch,
oii.MatchQty AS outmatch
FROM IncomingData_Info i
LEFT JOIN Tax_Incoming_Info tii ON i.VGUID=tii.Incoming_VGUID
LEFT JOIN Tax_Info ti on ti.VGUID=tii.Tax_VGUID AND ti.ImportDate<='2015-06-01'
LEFT JOIN Outgoing_Incoming_Info oii ON oii.Incoming_VGUID=i.VGUID
LEFT JOIN OutgoingData_Info odi ON odi.VGUID=oii.Outgoing_VGUID
WHERE i.GoodsType='FGB' AND i.IsExport=1
AND i.ImportDate<='2015-06-01'
--求和
SELECT
i.IncomingID,
sum(distinct tii.MatchQty)AS taxmatch,
sum(DISTINCT oii.MatchQty)AS outmatch
FROM IncomingData_Info i
LEFT JOIN Tax_Incoming_Info tii ON i.VGUID=tii.Incoming_VGUID
LEFT JOIN Tax_Info ti on ti.VGUID=tii.Tax_VGUID AND ti.ImportDate<='2015-06-01'
LEFT JOIN Outgoing_Incoming_Info oii ON oii.Incoming_VGUID=i.VGUID
LEFT JOIN OutgoingData_Info odi ON odi.VGUID=oii.Outgoing_VGUID
WHERE i.GoodsType='FGB' AND i.IsExport=1
AND i.ImportDate<='2015-06-01'
GROUP BY i.IncomingID
因为RK001对应一个TaxID,对应4个OutID,4个OutID的值有两个相同了,所以我用以上的方式Distinct求和求和是错误的,4个OutID只取了两个。该如何处理呢