提问人:Glob Dug 提问时间:11/14/2023 最后编辑:jarlhGlob Dug 更新时间:11/14/2023 访问量:42
JOIN 两个 SELECT 查询,即使没有相关,也会保留第一个表中的 ALL 元素
JOIN two SELECT queries, leaving ALL element from first table even without corrispondence
问:
我需要帮助将两个选择加入 Sqlite 数据库中。
我想列出第一个表的所有元素,即使第二个表中没有相关因素......我写下表格是因为我不知道如何用语言很好地解释......😅
这些是我的表格:
表1
表2
预期结果
我的查询是:
SELECT tab1.ID, tab1.email, tab1.email2, tab2.name
FROM tab1
LEFT JOIN tab2
WHERE tab2.email LIKE tab1.email
OR tab2.email LIKE tab1.email2
...我得到的是:什么都没有......
注意:我在 markdown 中创建了所有表格,但我总是收到此错误
您的帖子似乎包含未正确格式化的代码。请使用代码工具栏按钮或 CTRL+K 键盘快捷键将所有代码缩进 4 个空格。如需更多编辑帮助,请单击 [?] 工具栏图标。
做这篇文章非常令人沮丧!😫
答:
2赞
Littlefoot
11/14/2023
#1
功能怎么样?instr
select a.id, a.email, a.email2, b.name
from tab1 a left join tab2 b on instr(b.email, a.email) > 0
or instr(b.email, a.email2) > 0
order by a.id;
结果是
ID EMAIL EMAIL2 NAME
-- -------------------- --------------------- ------
1 [email protected] [email protected] Pippo
2 [email protected] null Pluto
3 [email protected] [email protected] null
4 [email protected] null null
5 null [email protected] Mario
看看小提琴。
评论
WHERE
ON
tab2.email
tab1.email
tab1.email2
{}