Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Pobranie danych z warunkiem
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, mam 2 tabele w bazie danych założone
albums
id | user_id | name
I tu dwa rekordy
1 | 1 | Album główny
2 | 1 | Zdjęcia

photos
id | link | album_id | user_id
I tutaj jeden rekord
1 | obrazek.jpg | 1 | 1

Teraz w skrypcie chcę pobrać wszystkie albumy ze zdjęciem który w tym albumie jest. Problem w tym, że album "Zdjęcia" nie ma jeszcze wgranego żadnego zdjęcia dlatego moje zapytanie mi go nie zwraca. Czy dałoby radę utworzyć takie zapytanie, że jeżeli nie ma w tabeli photos rekordu pasującego do albumu to zwróci mi domyślną wartość którą sam ustalę?
Zapytanie wygląda tak
  1. SELECT a.*, p.photo_thumb FROM albums a, photos p WHERE a.user_id = 1 AND a.id = p.album_id GROUP BY id


Z góry dzięki za pomoc wink.gif
jaslanin
nie wiem czy dobrze zrozumiałem ale możesz spróbować mniej więcej tak

Kod
SELECT a.*, COALESCE(p.link, 'tu ma byc co chcesz') link FROM albums a LEFT JOIN photos p ON(a.id=p.album_id) WHERE a.user_id = 1
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.