2009-06-03 65 views
2

我有一个来自几个工会的合并表,我想知道从哪个表中得到结果,这可能吗?合并的SQL表名

例如...

从用户那里名LIKE '%亚历%' 工会从管理员那里名LIKE '%亚历%' 选择名称

选择名称;

回复让我们说两排,亚历山大和亚历山德拉。 Alexander是管理员,Alexandra是用户。我如何区分他们?

回答

9
SELECT 
    Name, 
    'Users' AS Type 
FROM users 
WHERE name LIKE '%alex%' 
UNION 
SELECT 
    Name, 
    'Admins' AS Type 
FROM admins 
WHERE name LIKE'%alex%' 
+0

虽然我可能会使用UNION ALL在这种情况下becasue你不会间过滤掉重复无论如何,工会。 – HLGEM 2009-06-03 13:27:06

2

包括在你选择一个虚拟列,让您识别源表

select name, 'Name' as Source from users where name like '%alex%' 
union select name, 'Admins' as Source from admins where name like '%alex%';