Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Złączenie trzech tabel (w tym jednej podwójnie)
Archbishop
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
bela
post
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
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?
Go to the top of the page
+Quote Post
bela
post
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
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?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 12:12