【发布时间】:2014-04-03 06:05:03
【问题描述】:
我喜欢三个表,它们有一些相同的列,如 ID、名称、图像、... 我正在使用此代码从中选择
(SELECT ID, Name FROM `creatures` WHERE ... )
UNION
(SELECT ID, Name FROM `items` ...)
UNION
( ... FROM `anothertable` ... )
我在 php 中执行此操作,它为每个结果在表中创建一行。现在的问题是,我需要知道该行是从哪个表中获取的。我是 SQL 新手,我不知道它是否可以以某种方式完成。我想像这样的事情:
SELECT ID, Name, TableName FROM ...
有可能吗?
【问题讨论】:
-
正如一些答案指出的那样,
UNION ALL集合运算符比UNION集合运算符更有效,因为它不会产生对结果集进行排序以识别和删除的开销在返回之前重复行。 -
好的,我肯定会使用它 :) 谢谢大家的回答 :)
标签: php mysql sql sql-server