Tabele SQL reprezentują nieuporządkowane zestawy. Czy jest w tym coś niejasnego?
Kiedy SELECT
z tabeli, wyniki są nieuporządkowane . Jedynym wyjątkiem jest użycie ORDER BY
w zewnętrznym zapytaniu. Dołącz więc ORDER BY
a wyniki będą w porządku.
EDYCJA:
Możesz wyeliminować pracę dla sortowania, wprowadzając klastrowany klucz podstawowy.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Kiedy to zrobisz:
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
Klastrowy klucz podstawowy w #temp
gwarantuje, że będzie w kolejności określonej w order by
. Następnie zapytanie:
select *
from #temp
order by id;
zwróci wyniki w kolejności, używając indeksu klastrowego. Żadne sortowanie nie będzie potrzebne.