![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
witam,
posiadam tabele tbl_galeria, która w każdym rekordzie zawiera nazwę pliku graficznego. te nazwy NIGDY się nie powtarzają. jeden rekord = jedno zdjęcie. w strukturze zawarłem kolumnę fld_gal_id. Jeśli zdjęcie funkcjonuje "samodzielnie" to pole to przyjmuje wartość NULL, jeśli zaś fotka "należy" do galerii, to w polu tym wpisywane jest ID galerii. ID galerii to nic innego jak ID pierwszego dodanego do niej zdjęcia. Dzięki czemu unikam tworzenia dwóch tabel jedna ze zdjęciami, druga z galeriami. Jednak nie mam pojęcia jak mam wyciągać dane z bazy przy założeniu że interesują mnie WSZYSTKIE zdjęcia samodzielne i po jednym zdjęciu z galerii. próbowałem przez SELECT * FROM tbl_galeria GROUP BY fld_gal_id jednak zapytanie to zwraca mi oprocz zgrupowanych rekordów zdjęć należących do galerii, również zgrupowane WSZYSTKIE pliki samodzielne, czyli grupuje również rekordy z fld_gal_id=NULL. Czy ktoś wie jak skonstruować zapytanie do bazy by rekordy z zawartością pola po którym grupuje = NULL nie były grupowane? mam nadzieję, że wyjaśniłem w miarę jasno :/ |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
najzwylkej w swiecie dodaj warunek WHERE.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
tylko że wówczas wyświetli mi TYLKO rekordy które mają fld_gal_id=NULL lub TYLKO rekordy które fld_gal_id>0
w wyniku chcialbym otrzymać coś jak ponizej: ------------------------------------ | fld_id | fld_name | fld_gal_id | ------------------------------------ | 1 | a.jpg | NULL | ---------------------- | 2 | b.jpg | NULL | ---------------------- | 3 | c.jpg | NULL | ------------------- | 4 | d.jpg | 10 | ------------------- | 7 | e.jpg | 11 | ------------------- a tabela przykładowo wygląda tak: ------------------------------------ | fld_id | fld_name | fld_gal_id | ------------------------------------ | 1 | a.jpg | NULL | ---------------------- | 2 | b.jpg | NULL | ---------------------- | 3 | c.jpg | NULL | ------------------- | 4 | d.jpg | 10 | ------------------- | 5 | f.jpg | 10 | ------------------- | 6 | g.jpg | 10 | ------------------- | 7 | e.jpg | 11 | ------------------- | 8 | h.jpg | 11 | ------------------- | 9 | i.jpg | 11 | ------------------ |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Acha, teraz rozumiem.
To zrob union z dwoch zapytan. Jedno: grupowanie z where pole is not null drugie: bez grupowania z warunkiem pole is null |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
HA! działa!! dziękować (IMG:style_emoticons/default/winksmiley.jpg) dorzuce jeszcze limit i bedzie git!
Ten post edytował siutek 27.01.2011, 12:31:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 09:12 |