Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zapytanie zwraca dwa razy ten sam wynik
Tidude
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.08.2011

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


Zapytanie jakie napisałem wywołuje mi wyniki, ale je dubluje a nawet. Chcę wyświetlić zlecenia, tylko te do których(kolumna w1 i w2) będą pasowały pojazdy(typ_pojazdu1) i naczepy(typ_przyczepy1) oraz gdy będą w tym samym mieście co zlecenie(kolumna "z" w zleceniach i miasto w pojazdach i przyczepach)...

tak wygląda wynik zapytania.
(IMG:http://imagizer.imageshack.us/v2/800x600q90/827/d1u3.png)


Zapytanie:
  1. $zapytanie = mysql_query("
  2. SELECT p.*, t1.miasto, t1.gracz_id, t1.typ_pojazdu1, t1.pracuje, t2.miasto, t2.gracz_id, t2.typ_przyczepy1, t2.pracuje
  3. FROM zlecenia AS p
  4. INNER JOIN pojazdy_gracze AS t1
  5. ON p.z = t1.miasto
  6. INNER JOIN przyczepy_gracze AS t2
  7. ON p.z = t2.miasto
  8. WHERE t1.gracz_id = ".$uzytkownik['gracz']."
  9. AND t2.gracz_id = ".$uzytkownik['gracz']."
  10. AND p.w1 = t1.typ_pojazdu1
  11. AND p.w2 = t2.typ_przyczepy1
  12. AND t1.pracuje = 0
  13. AND t2.pracuje = 0") or die(mysql_error());
  14.  
  15. while($wiersz = mysql_fetch_assoc($zapytanie)){
Go to the top of the page
+Quote Post
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Dodaj grupowanie.
Widzę że nie masz pojęcia jak działa join. Jeśli 2 rekordy w dołączanej tabeli spełniają warunek złączenia to wyniki się powielą. Powielą się tyle razy ile rekordów spełnia warunek.
Go to the top of the page
+Quote Post
Tidude
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.08.2011

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


Po to jest przedszkole, żeby ktoś kto wie po co jest join podpowiedział.

Drugie zapytanie też nie działa, powiela wyniki...
  1. $zapytanie = mysql_query("
  2. SELECT
  3. p.*,
  4. t1.miasto,
  5. t1.gracz_id,
  6. t1.typ_pojazdu1,
  7. t1.pracuje,
  8. t2.miasto,
  9. t2.gracz_id,
  10. t2.typ_przyczepy1,
  11. t2.pracuje,
  12. t2.ladownosc
  13. FROM zlecenia AS p,
  14. pojazdy_gracze AS t1,
  15. przyczepy_gracze AS t2
  16. WHERE t1.gracz_id = ".$uzytkownik['gracz']."
  17. AND t2.gracz_id = ".$uzytkownik['gracz']."
  18. AND p.w1 = t1.typ_pojazdu1
  19. AND p.waga <= t2.ladownosc
  20. AND p.w2 = t2.typ_przyczepy1
  21. AND t1.pracuje = 0
  22. AND t2.pracuje = 0
  23. AND p.z = t1.miasto
  24. AND p.z = t2.miasto
  25. ") or die(mysql_error());


Ten post edytował Tidude 4.02.2014, 22:35:41
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: 14.09.2025 - 14:28