Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql]Problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych
krzysiek_raven
Witam
Mam problem z zapytaniem do bazy.
Mam dwie tabele:
Zdjęcia:

  1. zdjID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  2. galeriaID int UNSIGNED NOT NULL,
  3. opisZdj text NOT NULL,
  4. sciezkaZdj text NOT NULL,
  5. sciezkaMin text NOT NULL,
  6. rozmiarZdj double NOT NULL,
  7. rozmiarMin double NOT NULL,
  8. iloscKom int NOT NULL DEFAULT '0',
  9. pozycja int NOT NULL


Komentarze:
  1. komentarzID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  2. uzID int UNSIGNED NOT NULL,
  3. zdjID int UNSIGNED NOT NULL,
  4. trescKom text NOT NULL,
  5. dataKom date NOT NULL,
  6. czasKom time NOT NULL,
  7. adresIP varchar(15) NOT NULL


Chciałbym wyciągnąć ostatnio komentowane zdjęcia na podstawie daty i czasu dodania komentarza.
Zrobiłem takie zapytanie:
  1. SELECT zdj.zdjID, sciezkaMin, opisZdj FROM zdjecia AS zdj
  2. INNER JOIN komentarze AS kom ON zdj.zdjID = kom.zdjID
  3. WHERE iloscKom > 0 ORDER BY kom.dataKom && kom.czasKom DESC LIMIT 8

jednak pobiera mi ono zdjęcia w ten sposób że jesli zdjęcie ma kilka komentarzy to zostanie ono pobrane tyle razy ile ma komentarzy. Chciałbym aby pobierało mi 8 ostatnio komentowanych zdjęć, każde zdjęcia pobrane tylko raz niezależnie od tego ile ma komentarzy.
Nie wiem jak sformułować takie zapytanie, prosze o pomoc.
Zajec
Próbowałeś słowa kluczowego "DISTINCT" dla zdj.zdjID? Powinno zadziałać, chociaż nie testowałem.
krzysiek_raven
Zadziałało, dzięki smile.gif

Niestety jednak nie działa to zapytanie tak jak powinno:( Zdjęcia nie są sortowane według daty i czasu dodania tak żeby były od ostatnio dodanego komentarza:/
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.