Tabel SQL mewakili tidak berurutan set. Apakah ada yang tidak jelas tentang ini?
Saat Anda SELECT
dari sebuah tabel, maka hasilnya tidak berurutan . Satu-satunya pengecualian adalah ketika Anda menggunakan ORDER BY
dalam kueri luar. Jadi, sertakan ORDER BY
dan hasilnya akan teratur.
EDIT:
Anda dapat menghilangkan pekerjaan untuk pengurutan dengan memperkenalkan kunci utama berkerumun.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Kemudian ketika Anda melakukannya:
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
Kunci utama yang dikelompokkan di #temp
dijamin dalam urutan yang ditentukan oleh order by
. Kemudian pertanyaannya:
select *
from #temp
order by id;
akan mengembalikan hasil secara berurutan, menggunakan indeks berkerumun. Penyortiran tidak diperlukan.