MySQL数据库查询使用多个表JOIN

时间:2017-03-24 20:38:54

标签: mysql

我正在使用具有重复记录的MySQL非规范化数据库。

其中一个表包含2个不同列的查找。

以下是两个表的示例

表A

id1 id2

202 866

811 202

423 202

202 609

202 335

表B

id值

202热

542寒冷

609温暖

866潮湿

结果

202热

542寒冷

609温暖

866潮湿

查询应该查找列id1中匹配记录的所有记录,然后根据id2查找所有匹配的记录。

换句话说,如果id1上有匹配项,则查找表B中的所有记录,然后根据id2查找附加记录,反之亦然。

我花了3天的时间试图弄乱我的方式。

任何数据库专家都可能有一种编写此SQL的简单方法。

1 个答案:

答案 0 :(得分:0)

您可以使用UNION,例如:

SELECT ta.id1 AS id, tb.value as value
FROM tableA ta JOIN tableb TB ON ta.id1 = tb.id

UNION

SELECT ta.id2 AS id, tb.value as value
FROM tableA ta JOIN tableb TB ON ta.id2 = tb.id