我有三个sql select语句,格式为If Exists((,如下所示:
IF exists(
Select 1 * from table1
)
IF exists(
Select 2 * from table2
)
IF exists(
Select 3 * from table3
)
三个表结果返回相同的列,但它们在 if 内部具有不同的计算。现在我得到单独的三个表作为结果,我需要将它们连接为一个我尝试过使用 Union 但没有工作的表。欢迎任何建议。
编辑结果现在我得到像:
Table1 ===> From | To | Hours
Table2====> From | To | Hours
Table3===> From | To | Hours
我需要在单个表中包含所有这些表值。这三个表值可能包含也可能不包含多个行或空值(无行(
我不知道为什么union
不适合您,但是如果您使用的是union all
,则无需使用exists
:
select t1.col1, t1.col2
from table1 t1
union all
select t2.col1, t2.col2
from table2 t2
union all
select t3.col1, t3.col2
from table3 t3;
注意:
- 所有
SELECT
中的表达式/列数必须相同 语句。 - 相应的表达式/列在
SELECT
语句中必须具有相同的数据类型。
我在朋友的帮助下使用 #Temp 表解决了这个问题。每次我从一个表中获取值并将其插入临时表时,我都会像对所有表值一样明智地将其插入临时表中。 最后,我打印了临时表值。正如我所料也得到了结果!谢谢。