繁体   English   中英

来自 2 个表的 MYSQL 结果(JOIN 无效)

[英]MYSQL Results from 2 tables (JOIN not working out)

遇到一种情况,我试图从 2 个表中获取数据,但使用 JOIN 没有得到正确的结果。

示例查询: SELECT a.data_a, b.data_b FROM Table_A JOIN Table_B USING (ref) WHERE ref = 10; .

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM