帮助编写查询语句

时间:2010-07-28 12:23:33

标签: sql join

我需要编写一个查询语句,以便搜索三个表

表1

id
fullname
active

表2

id   
fullname 

表3

id 
fullname

我希望这个查询能够搜索所有三个表的组合并给我这些id的结果 无效的全名

1 个答案:

答案 0 :(得分:1)

假设所有表都具有相同的结构(在您的示例中它们不是 - 这是错误吗?)然后您可以使用UNION ALL来组合来自多个查询的结果:

SELECT id, fullname, 'table1' AS source
FROM table1
WHERE active = 'N'
UNION ALL
SELECT id, fullname, 'table2' AS source
FROM table2
WHERE active = 'N'
UNION ALL
SELECT id, fullname, 'table3' AS source
FROM table3
WHERE active = 'N'

如果您不关心行来自何处​​并且您不想要重复,则可以尝试使用UNION:

SELECT id, fullname
FROM table1
WHERE active = 'N'
UNION
SELECT id, fullname
FROM table2
WHERE active = 'N'
UNION
SELECT id, fullname
FROM table3
WHERE active = 'N'

我在这里做了很多猜测。如果它不起作用,请澄清您要做的事情。