Lozano23 [ Pretorianin ]
Warunek If/Case w Having [SQL 2005]
Sprawa wygląda tak, że chciałbym użyć warunku w zapytaniu.
Mniej więcej leci to tak:
Select (...)
From (...)
Group By (...)
Having
(parrent_id = 0)
AND (post_current_date >= @date)
AND
(
CASE WHEN (@username IS NOT NULL AND @search_text IS NULL) THEN (UserName = @username)
WHEN @username IS NULL AND @search_text IS NOT NULL THEN (title LIKE '%' + @search_text + '%')
END)
Niestety wywala mi błąd przy "=". Nie wiem czemu. Ktoś może pomóc?
Lozano23 [ Pretorianin ]
^
Lozano23 [ Pretorianin ]
^
fanlegii79 [ Generaďż˝ ]
No a nie da tego jakos zrobic ANDami ORami i odpowiednimi nawiasami?
Lozano23 [ Pretorianin ]
To jest zapytanie wyszukiwarki - praktycznie takiej jak na forum tutaj.
Można podać nazwę użytkownika, tekst, bądź oba parametry.
Jednak teraz miałem 3 warunki IF i 3 zapytania - dla każdej sytuacji osobne. A chciałbym to wrzucić w jedno zapytanie z warunkiem if w Having.
fanlegii79 [ Generaďż˝ ]
Hmm, a jestes pewien czy tak mozna?
Wstawianie case w having jest dosc dziwne,
Podaje ze jest blad przy = bo po then oczekuje instrukcji SQL, a nie wyrażenia logicznego.
Lozano23 [ Pretorianin ]
No to jeśli nie case, to może if?
Lozano23 [ Pretorianin ]
^
peanut [ kriegsmaschine ]
a nie czasami WHERE costam AND costam OR costam ?