来自2个表的MYSQL结果(连接不起作用)
遇到这样一种情况:我试图从两个表中获取数据,但使用JOIN无法获得正确的结果 示例查询:来自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
使用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