当任何一个表可能有结果时,多表外连接

时间:2016-12-24 14:27:55

标签: sql-server tsql

我有多个组织(6)表,其中包含有关成员资格的数据。个人可以是0个或更多组织的成员。这是表模式中的公共字段的示例(仅示例,但不是真的)idIndividual,name,address 我想要一个给定名称的idIndividual和地址

Select name, address,idIndividual 
from tbl1,tbl2,tbl3,tbl4,tbl5,tbl6
where name = 'FOO'

这个人可能在任何一张或所有的桌子上,我迷失了这个,任何帮助都会非常感激

1 个答案:

答案 0 :(得分:0)

使用UNION代替

WITH cte AS 
(
SELECT name, address,idIndividual 
FROM tbl1
UNION
SELECT name, address,idIndividual 
FROM tbl2
UNION
SELECT name, address,idIndividual 
FROM tbl3
UNION
SELECT name, address,idIndividual 
FROM tbl4
UNION
SELECT name, address,idIndividual 
FROM tbl5
UNION
SELECT name, address,idIndividual 
FROM tbl6
)
SELECT * FROM cte WHERE name = 'FOO'