![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Może naświetlę uproszczonym przykładem tabela osoby zawiera kolumnę osoby_id i rekordy: osoby_id ----------- jacek piotrek konrad paweł grzesiek krzysiek tomek marek tabela terminarz: data | id_w | id_m -------------------------------------------- 2016-06-01 | jacek | tomek 2016-06-08 | piotrek | konrad 2016-06-15 | marek | grzesiek Zapytanie:
wyświetla w kolejności: paweł krzysiek jacek tomek piotrek konrad grzesiek marek a chcę by wyświetlało: paweł krzysiek jacek tomek piotrek konrad marek grzesiek Czemu zamienia miejscami marek i grzesiek i nie sortuje jednolicie? Ten post edytował rafik73 25.12.2016, 18:23:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Bo taka jest naturalna kolejność w tabeli osoby, a sortowanie w przypadku równych dat nie wprowadza żadnych zmian.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jest jakiś sposób, żeby to ujednolicić?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dodaj warunek: id_m=osoby_id
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
dodałem
WHERE id_m=osoby_id efekt, wyświetla: tomek konrad grzesiek pomija kolumnę id_w i wartości ISNULL Ten post edytował rafik73 25.12.2016, 19:25:44 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest to optymalne rozwiązanie. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
czemu nie optymalne?
Dobry jesteś trueblue, sortuje wg moich oczekiwań. Dzięki serdeczne. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Bo gdyby naturalna kolejność była własnie: grzesiek, marek, przy zachowaniu takiej samej kolejności danych w tabeli terminarz, to byłaby inna kolejność.
W Twoim przypadku najlepszym rozwiązaniem jest: 1. Nadanie autonumer do tabeli osoby (i to ten powinien być kluczem głównym oraz kluczami obcymi id_w i id_m, a nie imię). Wtedy można dodać sortowanie po wartości tego klucza jeśli chcesz zachować naturalną kolejność. lub: 2. Dodanie dodatkowej kolumny z własnym "kluczem" sortowania do tabeli osoby (jeśli kolejność może być inna do naturalnej kolejności). Pomimo tego warto zastosować pierwszą połowę punktu 1. Sortowanie dokonujesz po tej kolumnie. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A gdyby tabela terminarz składała się z :
data | id_w1 | id_m1 | id_w2 | id_m2 ------------------------------------------- I chciałbym wyświetlić w kolejności : id_w1 id_m1 id_w2 id_m2 ? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewien, dodaj warunek:
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 19.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 16:32 |