假设我有下面的问题。
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
免得说两张table上都有一个城市,巫婆会给我:
| City |
| -------- |
| NY |
| NY |
我是在一个html表中获取的,有没有一种方法不同于witchmysql表的结果行是从什么,然后在表本身中生成另一列,例如column type
.
也许可以在查询中向结果集本身附加一些内容?
4条答案
按热度按时间ctzwtxfj1#
我不明白你的结果,因为
union
删除重复项,因此它应该只生成一行。如果要包含表名,我建议使用
select distinct
以及union all
:ygya80vv2#
在现有查询中附加一个额外的列,并将文字字符串值作为表名。这将帮助您区分行。
更新:
UNION
删除重复的行。因此,如果您的表在city列中有相同的值,它将返回唯一的行。你必须使用UNION ALL
. 这将返回所有行,并将字符串文字追加为类型列,这将帮助您区分这些行。感谢@gordon指出这一点。
pcww981p3#
根据所属子查询,添加一个包含文字值的额外列。
5sxhfpxr4#
您可以在查询中添加列,如下所示。