Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Złączenie trzech tabel (w tym jednej podwójnie)
Archbishop
post 30.12.2006, 19:38:23
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.10.2006
Skąd: Kraków

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


Witam!
Tworzę bazę ligi siatkarskiej i natknąłem się na mały problem.
Oto fragment bazy:

zespoly
----------
IdZespolu
NazwaZespolu

wynikiduze
--------------
IdMeczu
IdGospodarz
IdGosc
PktGospodarz
PktGosc
DataMeczu

wynikimale
-------------
IdMeczu
PktGosp1Set
PktGosp2Set
PktGosp3Set
PktGosp4Set
PktGosp5Set
PktGosc1Set
PktGosc2Set
PktGosc3Set
PktGosc4Set
PktGosc5Set


Chodzi o to, aby zrobic takie zapytanie, ktore pozwoli mi na wydobycie danych takich, jak:
Nazwa Gospodarza, Nazwa Goscia, Data Meczu, Wynik (PktGospodarz:PktGosc) i Wynik dla kazdego seta.

Probowalem juz roznych zapytan, ale nie moge sobie z tym poradzic.
Czy ktos moglby mi pomoc?
Pozdrawiam


--------------------
Destruction cometh; and they shall seek peace, and there shall be none. - Bible, Ezekiel 7:25
Go to the top of the page
+Quote Post
bela
post 30.12.2006, 23:04:51
Post #2


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Zwraca w dwoch wierszach co prawda ale dziala.

  1. SELECT * FROM wynikiduze d, zespoly z, male m WHERE d.idgosp = z.id OR d.idgosc = z.id;


Kod
+----+--------+--------+---------+---------+------------+----+-------+--------+----------+----------+----------+----------+
| id | idgosp | idgosc | pktgosp | pktgosc | data       | id | nazwa | meczid | pktgosp1 | pktgosp2 | pktgosc1 | pktgosc2 |
+----+--------+--------+---------+---------+------------+----+-------+--------+----------+----------+----------+----------+
|  1 |      1 |      2 |      54 |      50 | 2006-12-30 |  1 | foo   |      1 |       27 |       27 |       25 |       25 |
|  1 |      1 |      2 |      54 |      50 | 2006-12-30 |  2 | bar   |      1 |       27 |       27 |       25 |       25 |
+----+--------+--------+---------+---------+------------+----+-------+--------+----------+----------+----------+----------+


[edit]
Wymyslilem

  1. SELECT * FROM wynikiduze d LEFT JOIN zespoly z ON (d.idgosp = z.id) LEFT JOIN zespoly x ON (d.idgosc = x.id) LEFT JOIN male m ON (d.id = m.meczid);


Kod
+----+--------+--------+---------+---------+------------+----+-------+----+-------+--------+----------+----------+----------+----------+
| id | idgosp | idgosc | pktgosp | pktgosc | data       | id | nazwa | id | nazwa | meczid | pktgosp1 | pktgosp2 | pktgosc1 | pktgosc2 |
+----+--------+--------+---------+---------+------------+----+-------+----+-------+--------+----------+----------+----------+----------+
|  1 |      1 |      2 |      54 |      50 | 2006-12-30 |  1 | foo   |  2 | bar   |      1 |       27 |       27 |       25 |       25 |
+----+--------+--------+---------+---------+------------+----+-------+----+-------+--------+----------+----------+----------+----------+


--------------------
Go to the top of the page
+Quote Post
Archbishop
post 31.12.2006, 11:48:52
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.10.2006
Skąd: Kraków

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


Wielkie dzieki!
Ale chodzilo mi raczej o to, aby w wynikowej tabeli nie bylo idgosp ani idgosc, tylko np. NazwaGosp i NazwaGosc.
Widze, ze tam jest nazwa foo i nazwa bar ale jak teraz wyciagnac je pojedynczo?


--------------------
Destruction cometh; and they shall seek peace, and there shall be none. - Bible, Ezekiel 7:25
Go to the top of the page
+Quote Post
bela
post 31.12.2006, 13:32:19
Post #4


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Jest idgosp bo jest
  1. SELECT *

Trzeba poprostu podac jakie pola ma wybrac


--------------------
Go to the top of the page
+Quote Post
Archbishop
post 31.12.2006, 15:14:03
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.10.2006
Skąd: Kraków

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


No tak.
Ale chce pobrac nazwe gospodarza i nazwe goscia (nie ich id, tylko nazwy druzyn) tak, zeby potem przypisac je do osobnych zmiennych.
Jak pobieram poprzez 'NazwaZespolu' to bierze mi tylko jedna druzyne - goscia.
Jak sie odwolac do wyniku tego zapytania, abym mogl dysponowac nazwa gospodarza?


--------------------
Destruction cometh; and they shall seek peace, and there shall be none. - Bible, Ezekiel 7:25
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 Wersja Lo-Fi Aktualny czas: 17.06.2025 - 20:47