SQL - Kolejność według znaków alfanumerycznych
Mam następującą tabelę:
create table #tbl
(
product_id nvarchar(50)
)
insert into #tbl values ('011014-A11')
insert into #tbl values ('011014-A10')
insert into #tbl values ('011014')
insert into #tbl values ('011014-A1')
insert into #tbl values ('011014-A2')
Chcę zamówić identyfikatory produktu w ten sposób (od najmniejszego do największego):
011014
011014-A1
011014-A2
011014-A10
011014-A11
To właśnie próbowałem, ale nie działa:
select product_id
from #tbl
order by product_id desc
Jak mam to zrobic?
A jak mogę uzyskać tylko najlepsze id_produktu? Próbowałem tego, ale to nie zadziałało:
select top 1 product_id
from #tbl
order by product_id desc