Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql]Ważność warunków
Forum PHP.pl > Forum > Bazy danych
Siner
Otóż mam takie pytanie czy da się w jakiś sposób określić "moc" warunku.
Mam przykładowe zapytanie:
  1. SELECT pola FROM news LEFT JOIN text ON news.newsId = text.newsID
  2. WHERE news.newsShow = 1 AND news.newsId = :newsId AND text.newsLanguage = $Router->getP(2) OR text.newsLanguage = $_SESSION['userLanguage'] OR text.newsLanguage = news.newsDefaultLanguage LIMIT 1

Dokładniej chodzi mi o końcówkę: text.newsLanguage = $Router->getP(2) OR text.newsLanguage = $_SESSION['userLanguage'] OR text.newsLanguage = news.newsDefaultLanguage
I chodzi mi o to czy w jakiś sposób da się zrobić żeby tabele były najpierw przeszukiwane pod 'kolorem czerwonym', później 'pomarańczowym', a na końcu niebieskim. Bo teraz jeśli znajdzie się wpis w bazie który spełni warunek "text.newsLanguage = news.newsDefaultLanguage" (zawsze chyba tak będzie) to zwróci mi właśnie ten.
Czy muszę przygotować 3 oddzielne zapytania i sprawdzać czy zwróciło jakiś wynik.
Sedziwoj
Mi się wydaje, że bez jakiejś logiki tego nie zrobisz... czyli albo jakaś funkcja w bazie albo po prostu trzy zapytania.
Możesz też zrobić UNION i przy każdym dać statyczny numer w kolumnie różny dla każdego z trzech zapytań, wtedy możesz sprawdzić ile jest z pierwszego, ile z drugiego itd.

Można też CASE użyć, aby sprawdzać czy jest coś, jak tak to wybierać, jak nie to sprawdzać kolejny...

Ja bym też się zastanowił, czy inaczej nie powinno się tego robić, a nie kombinować z zapytanie. Ponieważ czasami można zmienić sposób działania, tak że zapytanie jest proste.
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.