Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 与具有多行值的表联接时创建多行_Mysql - Fatal编程技术网

Mysql 与具有多行值的表联接时创建多行

Mysql 与具有多行值的表联接时创建多行,mysql,Mysql,我有三张表,如下所示 Table A Id 1 2 3 4 5 Table B Id Value1 1 x 1 z 1 y 2 q 2 r 3 t Table C Id Value2 1 p 1 u 2 i Left join仅根据ID从表B和表C中获取一个匹配值。我需要查询创建多个记录,同时在没有数据的情况下容纳“Null” 如何连接这些表并获得以下输出 Id Value1 Value2 1 x p 1 z u 1 y Null 2

我有三张表,如下所示

Table A
Id
1
2
3
4
5

Table B
Id Value1
1  x
1  z
1  y
2  q
2  r
3  t

Table C
Id Value2
1  p
1  u
2  i
Left join仅根据ID从表B和表C中获取一个匹配值。我需要查询创建多个记录,同时在没有数据的情况下容纳“Null”

如何连接这些表并获得以下输出

Id Value1 Value2
1  x      p
1  z      u
1  y      Null
2  q      i
2  r      Null
3  t      Null
4  Null   Null
5  Null   Null

您可以
LEFT JOIN
两次:

SELECT ta.id, tb.value1, tc.value2
FROM tableA ta
LEFT JOIN tableB tB ON tb.id = ta.id
LEFT JOIN tableC tc ON tc.id = ta.id