Sortowanie rekordów do tabeli tymczasowej

Sortowanie rekordów do tabeli tymczasowej
SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

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?

hzmzp
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 750
0

Jak to robisz, pokaż kod?

SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0
Kopiuj
SELECT 
   COL1, COL2, COL3 INTO #temp
FROM
   Tab1
ORDER BY
   COL2, COL3 

hzmzp
  • 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?

Marius.Maximus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2249
PA
  • 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.

RA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 376
2

Select zwraca rekordy w dowolnej kolejności. Musi być zawsze order by jeżeli chcesz posortować.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.