GRY-Online.pl --> Archiwum Forum

Warunek If/Case w Having [SQL 2005]

02.10.2007
20:53
[1]

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?

02.10.2007
21:13
[2]

Lozano23 [ Pretorianin ]

^

03.10.2007
09:06
[3]

Lozano23 [ Pretorianin ]

^

03.10.2007
10:01
[4]

fanlegii79 [ Generaďż˝ ]

No a nie da tego jakos zrobic ANDami ORami i odpowiednimi nawiasami?

03.10.2007
10:06
[5]

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.

03.10.2007
10:30
[6]

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.

03.10.2007
12:10
[7]

Lozano23 [ Pretorianin ]

No to jeśli nie case, to może if?

03.10.2007
13:20
[8]

Lozano23 [ Pretorianin ]

^

03.10.2007
13:37
[9]

peanut [ kriegsmaschine ]

a nie czasami WHERE costam AND costam OR costam ?

© 2000-2024 GRY-OnLine S.A.