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?
Sortowanie rekordów do tabeli tymczasowej
- Rejestracja: dni
- Ostatnio: dni
- Postów: 61
0
- Rejestracja: dni
- Ostatnio: dni
- Postów: 61
0
SELECT
COL1, COL2, COL3 INTO #temp
FROM
Tab1
ORDER BY
COL2, COL3
- Rejestracja: dni
- Ostatnio: dni
- Postów: 750
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?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2249
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3900
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.