SQL 联合两个没有关系的表和 return 单独的列

SQL Union two tables without relation and return separate columns

我必须 tables 'Table1, Table2' ,它们根本不相关,但我需要对两者进行通用查询,因为有一个过滤器。

我想到了这个解决方案:

select * from(
 select t1.idT1 from Table1 t1 where idT1 = 1
 union all
 select t2.idT2 from Table2 t2 where idT2  = 1) as results

但它 returns 我只有一个名为 idT1 的列,我需要的是两个单独的列:'idT1'、'idT2' 因为我需要知道 id 是否来自 table 1 或 table 2 稍后查找他们的详细信息。

可以吗?

select * from(
 select t1.idT1, null as IdT2 from Table1 t1 where idT1 = 1
 union all
 select null as idT2, t2.idT2 from Table2 t2 where idT2  = 1) as results

或@jarlh 建议

select * from(
 select 't1' as T1OrT2, t1.idT1 from Table1 t1 where idT1 = 1
 union all
 select 't2' as T1OrT2, t2.idT2 from Table2 t2 where idT2  = 1) as results

我假设你问题中的 where IdT1=1 只是一个例子,因为如果确实如此,那么结果将全为 1,正如@Nathan_Sav 指出的那样。