я следующую таблицу:TSQL - Получить последние строки, которые их название не является нулевым
========================
Id SubCode Title
========================
1 1 test1
1 2 test2
1 3 NULL
1 4 NULL
2 1 k1
2 2 k2
2 3 k3
2 4 NULL
Нет, я хочу, чтобы выбрать все строки, которые их название не null
, например, для Id 1
затем запрос должен показать test2
и Id 2
он должен быть k3
:
========================
Id SubCode Title
========================
1 2 test2
2 3 k3
Я написал этот вопрос:
select t.Id, t.SubCode, t.Title from Test t
inner join (
select max(Id) as Id, max(SubCode) as SubCode
from Test
group by Id
) tm on t.Id = tm.Id and t.SubCode = tm.SubCode
Но этот код дает неправильный результат:
========================
Id SubCode Title
========================
1 4 NULL
2 4 NULL
Любая идея?
Итак, 'SubCode' определяет, сколько лет прошло запись? –
@TimSchmelter Нет, как 'Id', так и' SubCode' являются ключами –
Я не просил ключи, я спросил, как вы определяете, какая запись «старше», потому что вы «хотите выбрать последние строки»? Вы должны использовать 'datetime'-column- –