Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sql - złączenie 3 tabel, drobny problem
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam,

Mam następujące tabele:

  1. mecz(
  2. `id`,
  3. `gospodarz`,
  4. `gosc`,
  5. `skr_gospodarz`,
  6. `skr_gosc`,
  7. `br_gospodarz`,
  8. `br_gosc`,
  9. `opis`,
  10. `termin`,
  11. `pozycja`,
  12. `status_m`,
  13. `kolor`,
  14. `id_kolejka`,
  15. PRIMARY KEY (`id`)
  16. )
  17.  
  18. typ (
  19. `id`,
  20. `typ_gospodarz`,
  21. `typ_gosc`,
  22. `data_typ`,
  23. `id_mecz`,
  24. `id_gracz`,
  25. `id_kolejka`,
  26. PRIMARY KEY (`id`)
  27. )
  28.  
  29. punkty (
  30. `id`,
  31. `punkty`,
  32. `id_gracz`,
  33. `id_mecz`,
  34. `id_kolejka`,
  35. PRIMARY KEY (`id`)
  36. )



Czy takie zapytanie łączące wszystkie 3 tabele jest ok?

  1. SELECT m.id,m.gospodarz,m.gosc,m.br_gospodarz,m.br_gosc,p.punkty,t.typ_gospodarz,t.typ_gosc
  2. FROM mecz m
  3. INNER JOIN typ t
  4. ON (m.id = t.id_mecz) AND (m.id_kolejka = t.id_kolejka)
  5. INNER JOIN punkty p
  6. ON (m.id = p.id_mecz) AND (m.id_kolejka = p.id_kolejka) AND (m.id = t.id_mecz) AND (m.id_kolejka = t.id_kolejka) AND
  7. (p.id_mecz = t.id_mecz) AND (p.id_kolejka = t.id_kolejka) AND (p.id_gracz = t.id_gracz)
  8. WHERE (m.id_kolejka = 1) AND (t.id_gracz = 1) AND (m.status_m = 1)
  9. ORDER BY m.id ASC



Czemu otrzymuję pusty wynik? Co robię źle? Dodam że wszystkie tabele są wypełnione danymi. Dodam też że łączenie 2 dowolnych tabel działa.

dzięki

Ten post edytował damianooo 25.07.2012, 19:52:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Evinek
post
Post #2





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


Poczytaj o funkcjach mysql_*.
http://php.net/manual/pl/book.mysql.php

Ogólnie użyj funkcji:
http://www.php.net/manual/pl/function.mysql-fetch-array.php
aby pobrać do tablicy wyniki. Wtedy możesz sprawdzić co masz w tej tablicy funkcją var_dump($tablica);

Również możesz sprawdzić co zwróci zapytanie w phpMyAdmin.

I tak, dobrze użyłeś mysql_error(); Jeśli nie wyświetliło błędu to jest okej - ale nie wiadomo czy zapytanie jest całkowicie poprawne.
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 20:57