gpt4 book ai didi

sql - MSSQL - LEFT 加入 RIGHT 表中的空值

转载 作者:行者123 更新时间:2023-12-02 22:21:41 24 4
gpt4 key购买 nike

我有两个表,tblClient 和 tblBill,它们在 cltID 上连接。 tblClient 中的某些 cltID 在 tblBill 中没有记录。我想从 tblClient 返回所有记录并加入日期范围内的 tblBill 记录。如果他们没有 tblBill 记录,我仍然想返回那个 tblClient 记录。

我在运行:

select *
from tblClient left outer join tblBill
on tblClient.cltID = tblBill.cltid
where tblbill.billDtm between @dtStart and @dtEnd
or tblbill.billDtm is null

如果我取出 WHERE 子句,它会返回所有内容。如果我将其添加回去,它只会返回在 tblBill 中有记录的记录。

这让我快要死了,我确定我错过了一些愚蠢的东西......希望有人能帮忙吗?

最佳答案

条件首先应用于连接的结果,而不是表格。如果您将您的条件作为 JOIN 的一部分,您会将 tblBill 记录限制为您的条件,然后加入到客户表。

SELECT *
FROM tblClient
LEFT JOIN tblBill
ON tblClient.cltID = tblBill.cltid
AND tblbill.billDtm between @dtStart and @dtEnd

关于sql - MSSQL - LEFT 加入 RIGHT 表中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13615887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com