当我使用UNION
命令搜索多个表时,如何选择每个结果来自哪个表?
例如,如果两个表都有结果,那么如何添加一个表示(或区分)的列,无论是来自tableA还是tableB。
答案 0 :(得分:1)
试试这个,只需为表名添加虚拟列。
SELECT *
FROM
(
SELECT *, 'tableA' as tableName FROM tableA
UNION ALL
SELECT *, 'tableB' as tableName FROM tableB
UNION ALL
SELECT *, 'tableC' as tableName FROM tableC
) s
WHERE colName = 'hello'