我试图显示一个表中的公司列表,这些公司将在30天内发送新的发票,但我遇到的问题是,当我创建他们的新发票时,他们仍保留在列表中,我希望他们被删除。 sw_practices contains
公司信息 sw_invoices contains
各自的发票数据
我当前的查询是:
SELECT
*
FROM
SW_PRACTICES AS P
JOIN
(
SELECT
*
FROM
SW_INVOICES
)AS I
ON
P.PRAC_ID = I.PRAC_ID
WHERE
P.ACTIVE = '2'
AND I.NEXT_DUE > NOW() - INTERVAL 7 DAY
AND I.NEXT_DUE < NOW() + INTERVAL 30 DAY
ORDER BY
I.INV_ID ASC
因此,这是成功地显示所有30天内到期,这是正确的。
期望的结果是它显示发票01在30天内到期,这就是它正在做的,但是当我创建发票02并且下一个到期单元格是未来12个月的日期时,我希望它不再显示发票01到期,因为prac\u id有一个更新了的行和一个更新的发票。
1条答案
按热度按时间q9rjltbz1#
通过添加
WHERE Inv_ID IN (SELECT MAX...
在子查询中,完整查询是: