首页 > 解决方案 > Mysql UNION 方式与哪个表结果行不同

问题描述

可以说我有以下查询。

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

以免说两张桌子上都有同一个城市纽约,女巫会给我:

| City     |
| -------- | 
| NY       |
| NY       |

我在 HTML 表中获取它,有没有办法与女巫 MySQL 表结果行不同,然后在表本身中创建另一列,例如 column type

也许可以在查询中将某些内容附加到结果集本身?

标签: mysqlsqldatabaseunionunion-all

解决方案


附加一个额外的列,其中包含文字字符串值作为表名以及现有查询。这将帮助您区分行。

SELECT 'Customers' as Type, City FROM Customers
UNION ALL
SELECT 'Suppliers' as Type, City FROM Suppliers
ORDER BY City;

更新: UNION删除重复的行。因此,如果您的表在City列中具有相同的值,它将返回唯一的行。你必须使用UNION ALL. 这将返回所有行并将字符串文字附加为类型列将帮助您区分行。

感谢@Gordon 指出。


推荐阅读