我有3个表,名为“A”,“B”和“C”,列名为“Name”,“Roll_No”和“Age”。我想找到一个引用“Roll_No”列的行,但我不知道所需的行存在于哪个表中。我需要一个SQL语句,它将返回该行以及相应的表名。
答案 0 :(得分:1)
使用union
,如下所示:
select Name, Roll_No, Age ,'A' as table_name from A where Roll_No=--the value
union
select Name, Roll_No, Age ,'B' as table_name from B where Roll_No=--the value
union
select Name, Roll_No, Age ,'C' as table_name from C where Roll_No=--the value
答案 1 :(得分:0)
如果需要一次指定WHERE子句,请尝试此操作:
SELECT *
FROM
(SELECT Name, Roll_No, Age, 'A' AS TableName
FROM A
UNION
SELECT Name, Roll_No, Age, 'B'
FROM B
UNION
SELECT Name, Roll_No, Age, 'C'
FROM C) Tbl
WHERE Roll_No = [value]