Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie tabel i pokazywanie bez powtórzeń
Forum PHP.pl > Forum > Bazy danych > MySQL
michal_s
mam takie zapytanie:
  1. [sql]SELECT a.id_ad, a.title, b.name_mini
  2. FROM a, b
  3. WHERE b.id_ad = a.id_ad
[/sql]

Chciałbym, żeby id_ad się nie powtarzało. Wyczytałem, że trzeba dodać DISTINCT, ale

  1. [sql]SELECT DISTINCT a.id_ad, a.title, b.name_mini
  2. FROM a, b
  3. WHERE b.id_ad = a.id_ad
[/sql]

Wyświetla dokładnie to samo. Co by trzeba było zmienić?
Michael2318
Cytat
Chciałbym, żeby id_ad się nie powtarzało

W takim razie wystarczy dodać na końcu zapytania: GROUP BY a.id_ad
mortus
Cytat(Michael2318 @ 24.03.2013, 17:33:04 ) *
W takim razie wystarczy dodać na końcu zapytania: GROUP BY a.id_ad

No raczej nie wystarczy, bo pobrane rekordy będą niemal przypadkowe (a dokładniej - zależne od wewnętrznych ustawień MySQL). Rozwiązanie problemu zależy od potrzeb, którym to rozwiązanie ma służyć, jednak posiadamy za małą wiedzę (nie wiemy nic o tabelach i relacjach, jakie je łączą i jakie funkcje jedne i drugie spełniają), aby móc udzielić konkretnej odpowiedzi.
michal_s
W tym wypadku GROUP BY pomogło. dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.