Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Jak połączyć tabele, by odpowiednio posortować rekordy
teom
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 24.10.2006

Ostrzeżenie: (0%)
-----


Siedzę od rana i nie mogę dojść rozwiązania. Mam dwie tabele:

Tab1
kod1, imie1, kod2, imie2
21, ola, 23,stefcia
22, kazia, 23,stefcia
22, kazia, 21,ola

Tab2
id, imie, lp
21,ola,1
22,kazia,2
23,stefcia ,3

Po połączeniu tabel (wspólnym mianownikiem jest kolumna "kod" i "id") chcę uzyskać wirtualną tabelę taką, gdzie zamiast "imion" z Tab1 występuje "lp" z Tab2. Czyli chcę uzyskać taką tabelę:

Tab3
kod1, imie1, kod2, imie2
21, 1, 23, 3
22, 2, 23, 3
23, 2, 21, 1

I taką tabelę chcę posortować wg "imie1" a potem " imie2" czyli ORDER BY tab3.imie1, tab3.imie2

Robię to tak, ale mi nie wychodzi:
  1. SELECT * FROM tab1, tab2 WHERE tab1.kod1=tab2.id AND tab1.kod2=tab2.id ORDER BY tab2.lp

Jak to rozwiązać?

Ten post edytował teom 1.07.2011, 13:44:49
Go to the top of the page
+Quote Post
Rochu
post
Post #2





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

Ostrzeżenie: (0%)
-----


Cytat
gdzie zamiast "imion" z Tab1 występuje "lp" z Tab2

czyli zamiast imie1 i imie2 ma byc lp z tab2 tak? jesli tak to ponizsze zapyt powinno byc ok:

  1. SELECT kod1, kod2, lp AS imie1, lp AS imie2 FROM tab1 LEFT JOIN tab2 ON id = kod1 ORDER BY imie1


zdaje mi sie ze cos cie zle zrozumialem, dlatego tez nie do konca moze byc to o co ci chodzilo
Go to the top of the page
+Quote Post
teom
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 24.10.2006

Ostrzeżenie: (0%)
-----


Wiesz co, to działa. Tylko co należy zmienić, aby w wyniku pokazywał mi "imiona" zamiast "lp"?

Ten post edytował teom 1.07.2011, 13:54:49
Go to the top of the page
+Quote Post
Rochu
post
Post #4





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

Ostrzeżenie: (0%)
-----


nie wiem czemu, ale nie moge cie do konca zrozumiec, tabela po polaczeniu tych dwoch tabel ma wygladac jak ponizej czy inaczej?

Tab3
kod1, imie1, kod2, imie2
21, 1, 23, 3
22, 2, 23, 3
23, 2, 21, 1

kod1 = id z tab1
kod2 nic sie nie zmienia
imie1 to = ?
imie2 to = ?
Go to the top of the page
+Quote Post
teom
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 24.10.2006

Ostrzeżenie: (0%)
-----


kod1 = id z tab2
kod2 = id z tab2
imie1 = lp z tab2
imie2 = lp z tab2

W zasadzie twój kod sprawdza się znakomicie - zmieniłem tylko to "ORDER BY imie1, imie2"

Szczerze Ci dziękuję

Ten post edytował teom 1.07.2011, 14:29:14
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:49