繁体   English   中英

将表名的“字段”添加到UNION的SQL结果中?

[英]Add “field” of table name to SQL results from UNION?

如果我有一个简单的联盟

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM