当右表没有匹配行时,如何从mysql中的Left Join中检索空数据?

问题描述 投票:0回答:1

我有两张这样的桌子: (文档)

身份证 姓名
1 文档1
2 文档2

(标志)

身份证 人ID 文档ID 签名
1 1 1 2023-01-01
2 3 2 2023-01-02

所以我想获取每个用户的文档详细信息。例如,我需要一个列表来显示 Id = 1 的用户,如下所示:

(结果)

文档ID 签名
1 2023-01-01
2

我尝试了如下左连接:


SELECT * from docs
LEFT JOIN Signs on docid = docs.id 
where Signs.personId = 1 || Signs.personId is null;

但它只返回结果表的第一行。我怎样才能产生我想要的结果?

mysql left-join
1个回答
0
投票
SELECT t1.id, t2.signed_at
FROM docs t1
LEFT JOIN signs t2 ON t1.id = t2.doc_id AND t2.person_id = 1
© www.soinside.com 2019 - 2024. All rights reserved.