Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> WARUNEK W SQL
pawel007
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.10.2003
Skąd: Kraków

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


Witam!

Mam tabele ze zdjęciami dla ofert, dla jednej oferty może być dostępne wiele zdjęć, lecz tylko jedno zdjęcie dla jednego id_oferty może mieć flagę "główne" (ale nie musi). Potrzebuję utworzyć następujący warunek bezpośrednio w zapytaniu SQL, aby nie tworzyć kilku bezsensownych zapytań:

Wybierz foto dla danego id_oferty jeżeli foto jest ustawione jako główne, inaczej wybierz pierwsze foto (LIMIT 0,1) dla danego id_oferty (jeżeli dla danego id_oferty nie ma rekordów z flagą "głowne")

niestety po przeszukaniu forum nie znalazłem przykładu, który byłby adekwatny do mojego problemu, a drogą dedukcji nie udało mi się dojść do konkretnego rozwiązania, dlatego proszę o pomoc.
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może sortowanie się sprawdzi? Coś w stylu:
  1. SELECT ... ORDER BY glowne, normalne LIMIT 1

Oczywiście pod glowne i normalne podstaw swoje wartosci lub flagi.
Go to the top of the page
+Quote Post
pawel007
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.10.2003
Skąd: Kraków

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


Cytat(phpion.com @ 28.12.2007, 00:58:49 ) *
Może sortowanie się sprawdzi? Coś w stylu:
  1. SELECT ... ORDER BY glowne, normalne LIMIT 1

Oczywiście pod glowne i normalne podstaw swoje wartosci lub flagi.


Niestety nic to nie daje, zapytanie :

  1. SELECT * FROM foto WHERE id_oferty = 'id_oferty' ORDER BY glowne=1, glowne=0 DESC LIMIT 0, 1


Zwraca za każdym razem inne wartości
Go to the top of the page
+Quote Post
prgTW
post
Post #4





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

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


  1. SELECT *
  2. FROM foto WHERE id_oferty = 999
  3. ORDER BY glowne DESC, id_foty ASC LIMIT 1


zakladam ze 'glowne' przyjmuje wartosci 0-1
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: 19.12.2025 - 18:43