这是一个巨大的查询,但是我有一个用于理解的子示例。我事先道歉,这是我第一次问自己的业余技能问题。
我在输出中有两行。有很多列,但一次只有一行(总是如此)中只有三列有数据,其余为空。我如何合并这两行,因为它们在两个列中共享一个公共变量(即ID和Pass_numb相同,告诉我我希望将它们合并)?
从本质上讲,两行如何合并并填充空值?请记住,这个简单的结果/示例已经是其他查询的输出。
这种简单的视觉效果是子查询的结果
Pass_numb ID_1 Restriction_1 Pass_numb_2 ID_2 Restriction_2
----- ----- -------------- ----- ---- --------------
NULL NULL NULL 1 1000 ENL
1 10000 LS NULL NULL NULL
我之所以寻求概念性帮助,是因为我不知道如何在不打字的情况下准确地解释我所追求的。任何一般性建议或指向特定主题资源的内容都将是不错的选择。
我希望从上面的简单示例中看到以下内容:
Pass_numb ID_1 Restriction_1 Pass_numb_2 ID_2 Restriction_2
----- ----- -------------- ----- ---- --------------
1 10000 LS 1 1000 ENL
非常感谢任何人可以伸出援手或带领我到某个地方!
答案 0 :(得分:0)
在此示例中,您可以使用聚合:
select max(Pass_numb) as Pass_numb,
max(ID_1) as ID_1,
max(Restriction_1) as Restriction_1,
max(Pass_numb_2) as Pass_numb_2,
max(ID_2) as ID_2
from t
group by coalesce(Pass_numb, Pass_numb_2);
也就是说,可能有一种方法可以修复子查询,因此它不会这样做。但是,如果很复杂,则可能需要重写很多代码。