sqlserver 在查询过程中,如何做到只保留索引最小并且不为null的那一列的值
思路:将为null的去掉,获取最小值,
另外,你的问题,到底是啥,我懵圈了
不是取最小值,是在每一行中,都取列的索引最小的那个不为null值,后面的值都不要
@ListentoYourHeart: 懂了,晕,还有这种变态的需求
解决方法很简单,使用case 子句吧
select case
when col1 is not null then co1
when col2 is not null then co2
....
end
@悦光阴: 就是这个,谢咯~
SELECT *TOP 1 FROM TABLE1 ORDER BY ISNULL(索引列,999999999999)
不知道能不能解决你的问题
NULL | 300 | Null | 200 | NULL |
100 | 150 | 350 | 450 | 550 |
我只想取到100和300这两个数,其他的都不要
@ListentoYourHeart:
从左到右列名A-E
SELECT
(
SELECT
TOP 1 A
FROM
TABLE
WHERE
A IS NOT NULL
) AS A,
(
SELECT
TOP 1 B
FROM
TABLE
WHERE
B IS NOT NULL
) AS B
我SQL写的不多,你再看看 其他朋友有没有更好的办法