在我的數據庫中,我有兩個表:tblReceipts
和tblDisclosure
。一些商業細節:HAVING子句中的組查詢不起作用
- 有時我收到錢但沒有披露應用它。
- 有時我會在收到付款之前處理披露。
以下查詢旨在返回1和2的所有實例,但它不包含。我沒有記錄,但我知道有一個這樣的例子存在。當我運行查詢時,我收到一個請求,輸入參數Test
中的數據。如果我刪除HAVING
子句,則查詢正確返回所有記錄。如何根據需要應用過濾器?
SELECT
Sum([DBSFee] + [MyFee]) AS Fee,
[Amount] + [Adjustment] AS Rec,
tblReceipts.ID,
[Fee] - [Rec] AS Test,
tblClient.ClientName,
tblClient.ClientID,
tblReceipts.Notes
FROM
(tblDisclosure
INNER JOIN tblReceipts ON tblDisclosure.ReceiptsLookup = tblReceipts.ID)
INNER JOIN tblClient ON tblReceipts.ClientLookup = tblClient.ClientID
GROUP BY
[Amount] + [Adjustment],
tblReceipts.ID,
tblClient.ClientName,
tblClient.ClientID,
tblReceipts.Notes
HAVING Test <> 0;
內連接是可交換 - 爲什麼把括號在那裏? – Hogan