JOIN 两个 SELECT 查询,即使没有对应关系也保留第一个表中的所有元素

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

我需要帮助来加入 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 个空格。如需更多编辑帮助,请单击 [?] 工具栏图标。

写这篇文章非常令人沮丧! 😫

sql sqlite join
1个回答
0
投票

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   fran[email protected]      null                    null
5   null                    [email protected]         Mario

看看小提琴

© www.soinside.com 2019 - 2024. All rights reserved.