-1
我正在努力與查詢,我希望有人可以幫助。如何製作此類MySQL查詢?
我有兩個表Sale
& SaleLine
由場SaleUUID
但表銷售相關也紛紛OriginalSaleUUID
領域,這是一個父UUID
。
我想要實現的是顯示特定銷售的物品清單及其數量以及退貨數量(可能爲0,這意味着沒有銷售記錄& SaleLine表的退貨或多次退貨項目和銷售)。
我希望這是有道理的。
表單位:
SaleUUID OriginalSaleUUID
1
2 1
3 1
表SaleLine:
SaleLineUUID SaleUUID SaleLineItemName SaleLineQuantity
1 1 Item A 3
2 1 Item B 1
3 2 Item A 1
4 3 Item A 1
預期結果:
Item Name Item Quantity Item Quantity (Return)
Item A 3 2
Item B 1 0
這是最後一次嘗試。我今天已經花了幾個小時沒有一個可行的解決方案:即使這一個也不行,因爲它應該。它爲兩個項目提供了相同的結果,但只有第一個纔有回報。
SELECT
SL1.SaleLineItemName,
SL1.SaleLineQuantity,
COALESCE((
SELECT
(SL2.SaleLineQuantity)
FROM
Sale S2, SaleLine SL2
WHERE
S2.SaleUUID = SL2.SaleUUID
AND S2.OriginalSaleUUID = S1.SaleUUID), 0)
FROM
Sale S1,
SaleLine SL1
WHERE
S1.SaleUUID = SL1.SaleUUID
AND S1.SaleUUID = ?
感謝Viliam,但我忘了提及我正在嘗試在FileMaker中使用SQL,其中USING,IFNULL和IF不受支持。代替IFNULL,我可以使用COALESCE,但不確定USING。其他一切都得到支持。 FileMaker 15 SQL參考 - 支持的標準:https://fmhelp.filemaker.com/docs/15/en/fm15_sql_reference.pdf –
@SebastijanB .:而不是使用,你可以做JOIN Sale ON Sale.SaleUUID = SaleLine.SaleUUID 。 USING只是一個「別名捷徑」。我似乎FileMaker支持CASE WHEN。您可以使用它來模擬IF/IFNULL - >如果OriginalSaleUUID爲NULL,那麼SaleLineQuantity ELSE 0 END ... –