我有以下
;with cte as(
Select 1 as Col1 ,NULL as Col2
Union All
Select Null ,2)
select *
from cte
/ *结果* /
Col1 Col2
1 NULL
NULL 2
我正在寻找
Col1 Col2
1 2
即。结果应排在一行。
我们如何实现这一目标?
答案 0 :(得分:2)
如果没有关于您的数据的更多详细信息,似乎应用像max
这样的简单聚合函数应该完成您的工作:
...
select max(col1) as col1, max(col2) as col2
from cte
答案 1 :(得分:1)
SELECT MAX(col1) , MAX(col2) FROM cte
答案 2 :(得分:1)
您可以使用任何聚合函数,如Max()或Min()或Sum()取决于您的要求
答案 3 :(得分:1)
1您问题中的信息有限,这是您尝试实现的目标吗?
;with cte as(
Select table1.Col1 , table2.Col2 From Table1
JOIN table2
ON table1.col1 = table2.Col1
WHERE table1.Col1 = 1 and table2.Col2 = 2
)
select *
from cte
答案 4 :(得分:0)
使用笛卡尔联接,我们可以得到所需的结果:
select t2.a,t1.b from table t1,table t2 where t1.b is not null and t2.a is not null;