如何将两个表连接到哪一列

时间:2019-07-27 06:05:39

标签: mysql sql join database-design

有人可以教我如何将两个表合并为一列MySQL 那有可能吗?还是不?

4 个答案:

答案 0 :(得分:2)

如果您需要将结果作为一列,则可以使用concat

SELECT concat(p.id, p.status, p.date, m.pid) 
FROM posts p
INNER JOIN post_meta m ON m.pid=p.id 
WHERE (status=1 OR status=4) 
ORDER BY date DESC 

但是您需要显式列(您所需要的),但无需选择*

或者您正在寻找group_concat

SELECT group_concat(p.title)
FROM posts p
INNER JOIN post_meta m ON m.pid=p.id 
WHERE (status=1 OR status=4) 

答案 1 :(得分:1)

是的。绝对可以在SQl(MySql / SqlSvr)中将表连接在一起。

(INNER)JOIN:选择两个表中具有匹配值的记录。

左(外)联接:从第一个(最左侧)表中选择具有匹配的右表记录的记录。

右(外)联接:从第二个(最右)表中选择具有匹配的左表记录的记录。

完全(外部)联接:选择与左或右表记录匹配的所有记录。

所有INNER和OUTER关键字都是可选的。

让我们详细了解本教程。 https://www.dofactory.com/sql/left-outer-join

答案 2 :(得分:1)

似乎重复了How can I merge the columns from two tables into one output?

提供有关如何加入以获得完整响应的更多详细信息。输入和预期输出会更好。

答案 3 :(得分:1)

简单答案

Select * From table1 t1 INNER JOIN table2 t2 on t1.col1 = t2.col1;

您可以使用INNER来获取结果,在该数据上应在与col1相对应的两个表上都存在数据

您可以使用LEFT来获取结果,在该结果中,应在与col1相对应的第一个表上显示数据,而不必在第二个表上显示数据

您可以使用RIGHT来获取结果,其中数据应存在于与col1相对应的第二个表中,而不必存在于第一个表中