如果我有一个简单的联合
select name, phone from users union select name, phone from vendors;
有没有办法将表名添加到结果中?
所以代替
+--------+-------+
| name | phone |
+--------+-------+
| Jim | 123...|
| Macy's | 345...|
+--------+-------+
我会得到
+--------+-------+---------+
| name | phone | table |
+--------+-------+---------+
| Jim | 123...| users |
| Macy's | 345...| vendors |
+--------+-------+---------+
最佳答案
select name, phone, 'users' as table_name from users
union
select name, phone, 'vendors' as table_name from vendors;
更好的解决方案是使用union all
,这样服务器就不会检查不同的值
select name, phone, 'users' as table_name from users
union all
select name, phone, 'vendors' as table_name from vendors;
关于mysql - 将表名的 "field"添加到UNION的SQL结果中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992315/