[英]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.