我有两个具有相同列的表,比如表A和表B,两者都有列ID。我有一个ID'ABC'的值。如何检查ABC存在于哪个表的ID列中?我需要输出作为表名。
答案 0 :(得分:1)
SELECT 'A' as table_name FROM DUAL WHERE EXISTS( SELECT 1 FROM A WHERE id = 'ABC')
UNION ALL
SELECT 'B' FROM DUAL WHERE EXISTS( SELECT 1 FROM B WHERE id = 'ABC')
DUAL
是一种您可以使用的占位符,如果您没有可供选择的表格。
答案 1 :(得分:0)
select tab from (
select 'A' tab, count(*) n from tabA where id = 'ABC'
union all
select 'B' tab, count(*) n from tabB where id = 'ABC'
) where n > 0;