当前位置: 首页 > 知识库问答 >
问题:

选择两个值,如果第二个值在sql中不存在,则显示null

彭阳朔
2023-03-14

我有三个表表1、表2、表3。表1有a、b列。表2有c、b、d列。表3有d、e列

Table 1               Table 2                        Table 3
a     b               c, b, d                        d     e

我需要匹配表1、b上的表2,以及d上的表2和表3。我需要在表1的“a”列中显示数据,如果表2和表3中存在匹配的行,那么我需要在表3中显示列“e”以及列“a”。如果表2和表3之间的匹配中不存在行,我可以显示null。

让我知道任何澄清或数据。我使用sqlite3,但存在子句的工作方式似乎就像在sql中一样。

我尝试了,但无法为此编写正确的查询。

select a, e from table1 t1 join tablet2  t2 on t1.b = t2.b (and if exists?)

共有2个答案

韦德厚
2023-03-14
SELECT A, E
FROM table1 t1
LEFT JOIN table2 t2 on T1.B=T2.B
LEFT JOIN table3 T3 on T3.D=T2.D
杨经武
2023-03-14

您需要使用外部连接,如下所示:

select a, e
from table1 t1
left outer join table2 t2 on t1.b = t2.b
left outer join table3 t3 on t2.d = t3.d
where ...

如果表2或表3中的任何行缺失,e将为null

 类似资料:
  • SQL架构: 我需要这样显示我的结果: 结果显示表SNMASTER的前5行 然后查看表事务,并在有OPERATION_ID时写入1

  • 问题内容: 尝试通过一些非常有限的知识和经验来进行SQL查询。尝试了很多我通过搜索发现的内容,但没有得出我想要的结果。 我有四个表: 回复:KITS-[KIT_NO]和[ITEM_NO]都位于ITEMS表中。它们的串联是PK。 我想选择ORDERS,ORDERS.DATE,ORDER_DETAILS.ITEM_NO,ITEMS.DESC 没问题。一些简单的内部联接,我在路上。 困难在于在selec

  • 问题内容: 我的SQL Server数据库中有两个表。第一个是,第二个是。两个表中都有一列。 现在,我想从两个表中选择一个特定的值。 这就是我在做的 但是我的查询给出了错误。 问题答案:

  • 这是我的查询,我尝试了这个查询,它是有效的。 我想显示conference_venue的数据。但是我不想显示id_venue与submission_data表相同的数据(与提到id_submission的id_venue相同)。 我试图查询laravel版本,但它是一个空白的白色屏幕,没有错误。 当我在sql查询控制台中尝试此查询时,此查询可以工作,但在使用Laravel查询生成器尝试时失败。

  • 问题内容: 我有两个表,将值存储为。 我正在填充表,如果其他表中不存在值,则只想在其中一个表中插入值。 就像是: 我怎样才能做到这一点? 问题答案: 您需要使用某种类型的查询。 更新(在澄清之后): 例如,如果相应的行在中尚不存在,则下面是如何在其中插入行: 要用同一查询插入多行,恐怕没有什么比这更好的了 原始答案 例如,这将从满足该子句的所有行中提取,并使用用作的值插入行。它将忽略重复的键错误。

  • 如果没有数据,如何根据两个表中两个列的值选择新列。 提前谢了。