本文介绍了添加“字段"从 UNION 到 SQL 结果的表名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
如果我有一个简单的联合
If I have a simple union
select name, phone from users union select name, phone from vendors;
有没有办法将表名添加到结果中?
Is there a way to add the table name to the results?
所以代替
+--------+-------+
| 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
,这样服务器就不会检查不同的值
Better solution will be to use union all
, so server will not be checking for distinct values
select name, phone, 'users' as table_name from users
union all
select name, phone, 'vendors' as table_name from vendors;
这篇关于添加“字段"从 UNION 到 SQL 结果的表名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!