如果最小(列)和最大(列)SQL查询只有一个值,则显示null
这是我原来的桌子如果最小(列)和最大(列)SQL查询只有一个值,则显示null,sql,sql-server,tsql,Sql,Sql Server,Tsql,这是我原来的桌子 ID value value1 Value3 ----------------------------------- 123 45789 null 5648 234 45789 5468 null 12453 5846 589745 null 21536 5846 null 54689 期望输
ID value value1 Value3
-----------------------------------
123 45789 null 5648
234 45789 5468 null
12453 5846 589745 null
21536 5846 null 54689
期望输出:
ID value value1 Value3 ID value value1 Value3
-------------------------------------------------------------------------
123 45789 null 5648 234 45789 5468 null
12453 5846 589745 null 21536 5846 null 54689
我的查询的当前输出
ID value value1 Value3 ID value value1 value3
---------------------------------------------------------------------------------
123 45789 5468 5648 234 45789 5468 5648
12453 5846 589745 54689 21536 5846 589745 54689
查询:
select
min(ID) as ID, min(value) as value, min(value1) as value1,
max(ID) as ID, max(value) as value, max(value1) as value1
from
table1
您可以从示例输入中获得预期输出:
select
T1.ID,
T1.value,
T1.value1,
T1.value3,
T2.ID,
T2.value,
T2.value1,
T2.value3
from Table1 T1
join Table1 T2
on T1.value = T2.value
and T1.ID < T2.ID
;
在行动中看到它:
您可能应该至少在一组列中添加一些别名
但是,不确定如何通过示例查询获得两行数据
如果需要调整/进一步详细信息,请发表意见。请解释您想要实现的逻辑。如果第一行和第二行的值相等,只需将其放入一行即可。value=value,45789=45789标题min/max中的要求与您对Gordon评论的回应有何关联?如果需要,您可能希望扩展示例数据和预期输出以进行澄清。