【发布时间】:2020-06-21 01:27:12
【问题描述】:
我有 2 张桌子,Main 和 Payments。 Main 是一张交易表,Payments 是一张交易表,其中交易为其他交易支付费用。
Main 有许多字段,例如 Invo、InvoDate 和 Amount。
付款非常简单;它只有 PayInvo 和 DueInvo。 [和一个PK]
我必须弄清楚到 2019 年底还有哪些尚未付款。 我的方法如下。 [Main.Ac1 是帐户。所有应付账款都在 2000 年和 2999 年之间]
SELECT * FROM Main
WHERE InvoDate BETWEEN #1/1/2019# AND #12/31/2019#
AND Main.Ac1 BETWEEN 2000 AND 2999
AND NOT EXISTS
(
SELECT * FROM
Payments INNER JOIN Main ON Payments.PayInvo = Main.Invo
WHERE Main.InvoDate BETWEEN #1/1/2019# AND #12/31/2019#
);
我预计它只会返回 Main.Ac1 BETWEEN 2000 和 2999 以及相应付款日期不是 2019 年的交易列表,但它什么也没带回来。
【问题讨论】: