Witam. Dlaczego dzieje się tak, że pisząc zapytanie z klauzulą ORDER BY otrzymuję dobrze posortowane wyniki a jak wrzucę wynik zapytania do tabeli tymczasowej to już listując rekordy w niej mam źle posortowane dane?
0
0
Jak to robisz, pokaż kod?
0
SELECT
COL1, COL2, COL3 INTO #temp
FROM
Tab1
ORDER BY
COL2, COL3
0
Prawdopodobnie jak robisz select na temp to zwraca rekordy zgodnie z primary key.
Nie bardzo wiem co chcesz osiągnąć, ale nie lepiej było by ci to zrobić na widoku?
3
Ja tam może mało wiem, ale oczekiwanie kolejności bez order by
to nie jest najlepszy pomysł. W relacyjnych bazach danych kolejność rekordów jest dowolna.
Wiem, że w praktyce SQL Server zwróci rekordy w kolejności indeksu klastrowego (Clustered indeks) czyli w 99% będzie to primary key, ale moga zdarzyć się odstepstwa.
2
Select zwraca rekordy w dowolnej kolejności. Musi być zawsze order by jeżeli chcesz posortować.