gpt4 book ai didi

mysql - SQL从2个表中选择,其中键不在1个表的某些行中

转载 作者:行者123 更新时间:2023-11-29 00:34:29 24 4
gpt4 key购买 nike

我有一张这样的 table

ID       Type
--- -------
1 17
2 18
3 18
10 16

还有第二张这样的 table

ID       Month
--- -------
1 Feb
2 Feb
3 Feb
4 Feb

我想选择第二个表中的所有内容并将其与第一个表中的类型匹配。如果它在第一个表中没有匹配的 ID,我仍然想显示它。

现在我正在做这个查询

 select t2.id, t2.month, t1.type
from t2, t1
where t1.id = t2.id

它给了我这个结果

ID   MONTH  TYPE
1 Feb 17
2 Feb 18
3 Feb 18

但我想要的是这个结果

ID   MONTH  TYPE
1 Feb 17
2 Feb 18
3 Feb 18
4 Feb 0

我怎样才能写出一个 SQL 语句来得到上面的结果?

SQL fiddle :http://sqlfiddle.com/#!2/c90f5/1

最佳答案

您只需要使用 LEFT JOIN——我还使用了 COALESCE 来为类型返回 0——您也可以使用 IFNULL:

SELECTt2.id, t2.month,  COALESCE(t1.type,0) type
FROM t2 LEFT JOIN t1
ON t1.id = t2.id

Updated Fiddle

关于mysql - SQL从2个表中选择,其中键不在1个表的某些行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15004731/

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