У меня есть следующие данные:
DECLARE @temp TABLE (
ID int
,sn varchar(200)
,comment varchar(2000)
,rownumber int
)
insert into @temp values(1,'sn1',NULL,1)
insert into @temp values(2,'sn1','aaa',2)
insert into @temp values(3,'sn1','bbb',3)
insert into @temp values(4,'sn1',NULL,4)
insert into @temp values(5,'sn2',NULL,1)
insert into @temp values(6,'sn2',NULL,2)
insert into @temp values(7,'sn2',NULL,3)
select * from @temp
И я хочу вывести вот так:
2 sn1 aaa 2
5 sn2 NULL 1
тот же sn, если комментарий имеет значение, получите запись этого более низкого числа. Для sn1, есть две записи со значением комментария, поэтому здесь, получить запись с rownumber = 2
Если комментарий не имеет значения, получить запись нижнего числа. Для sn2 получите запись с rownumber = 1
Могу ли я знать, как написать этот SQL?