从2个与联结表匹配的表中选择值

时间:2018-08-26 23:45:02

标签: sql

我需要使用联结表从表A和表B中选择值。结果集应具有两个表中的值。 示例:

Table A 
ID
1
2
3
4
5

Table B
ID
8
9
Junction Table
ID1    ID2
1      8 
6      9

如果联结中存在表A或B中的值,则结果应如下所示,则应从联结表中获得1个值中的任意一个 以上示例的结果应为

ID
1
2
3
4
5
9

1 个答案:

答案 0 :(得分:0)

我不遵循逻辑描述。但是,根据数据,似乎A中的所有ID以及B中的ID与Ajunction中的ID配对。

如果是这样:

select a.id
from a
union all
select b.id
from b
where not exists (select 1
                  from junction j join
                       a
                       on j.id1 = a.id
                  where j.id2 = b.id
                 );

这是基于数据的,因此它仅查看id2b.id的匹配项。