我需要编写一个查询语句,以便搜索三个表
表1
id
fullname
active
表2
id
fullname
表3
id
fullname
我希望这个查询能够搜索所有三个表的组合并给我这些id的结果 无效的全名
答案 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'
我在这里做了很多猜测。如果它不起作用,请澄清您要做的事情。