mysql - 如何显示连接到第二个表的一个表的结果,即使第二个表没有任何匹配记录?

标签 mysql sql

我有 2 个表。

表一

Table1

表 2 对表 1 有注释,其中 FK 是 ID_tb1:

Table2

我正在尝试获取一个查询,以便将所有评论显示为 1 个表格。如果表 2 中没有注释,则不应有注释,但仍应显示表 1 中的数据。

下面是一个结果应该如何的例子

Table result

最佳答案

  • Left join以表1为起始表,使表1中的所有记录都来。
  • 使用Concat函数,您可以在字符串中连接评论和日期时间。
  • 使用Group_concat聚合函数,您可以通过分隔符连接所有行。

尝试以下操作:

Select t1.id, t1.letter
       Group_concat(concat(t2.datetime, ' ', t2.comments)) as Comment 
From table1 AS t1 
LEFT JOIN table2 AS t2 ON t2.id = t1.id 
GROUP BY t1.id, t1.letter

关于mysql - 如何显示连接到第二个表的一个表的结果,即使第二个表没有任何匹配记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52486708/

相关文章:

SQL 存储过程 - 为什么使用 "OUT"而我只能选择

mysql - 如何进行 SQL 查询以从两个单独的表中获取两次连接的用户数据?

sql - 在什么情况下你会或不会使用数据库触发器而不是 cron 调用的脚本?

MySQL:为什么索引列标记为 "BTREE?"

MySQL:如何从表中选择不同的值?

php - Woocommerce:数据库恢复后可下载文件消失

sql - 将来自不同表的列的值插入到列中

mysql - 由于违反完整性约束而无法添加字段 : 1452 Cannot add or update a child row

php - 在表格中显示 XML 内容 + 使用 php 轻松搜索

mysql - 需要查找购买的每种产品的销售地点数量吗?