Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
来自2个表的MYSQL结果(连接不起作用)_Mysql - Fatal编程技术网

来自2个表的MYSQL结果(连接不起作用)

来自2个表的MYSQL结果(连接不起作用),mysql,Mysql,遇到这样一种情况:我试图从两个表中获取数据,但使用JOIN无法获得正确的结果 示例查询:使用ref=10的(ref)从表a连接表b中选择a.data\u a、b.data\u b Table_A --------------------- | id | data_a | ref | --------------------- | 1 | 123 | 10 | --------------------- Table_B --------------------- | id | data

遇到这样一种情况:我试图从两个表中获取数据,但使用JOIN无法获得正确的结果

示例查询:
使用ref=10的(ref)从表a连接表b中选择a.data\u a、b.data\u b

Table_A
---------------------
| id | data_a | ref |
---------------------
| 1  | 123    | 10  |
---------------------

Table_B
---------------------
| id | data_b | ref |
---------------------
| 1  | 456    | 10  |
| 2  | 789    | 10  |
---------------------
我得到的回报是

-------------------
| data_a | data_b |
-------------------
| 123    | 456    |
| 123    | 789    |
-------------------
我想要的是

-------------------
| data_a | data_b |
-------------------
| 123    |        |
|        | 456    |
|        | 789    |
-------------------

您不需要
join
对于此场景,请改用
union

select distinct a.data_a as data_a, '' as data_b from tableA where ref = 10
union all
select distinct '', b.data_b from tableB where ref = 10

您不应该使用
JOIN
,而应该使用
UNION
来获取单独行上的数据

SELECT data_a, "" AS data_b
FROM Table_A
WHERE ref = 10
UNION
SELECT "" AS data_a, data_b
FROM Table_B
WHERE ref = 10