Jestem zupełnie nowa w świecie Oracle, więc może to być softball. Podczas pracy z raportem SSRS przekazuję ciąg stanów do widoku. Oszustwo polega na tym, że użytkownicy mogli również wybrać opcję z listy stanów o nazwie "[Brak zaznaczenia]" ... (ta część nie była wykonywana, a ja utknąłem z realizacją rzeczy w ten sposób)Warunkowa klauzula WHERE z instrukcją CASE w Oracle
Jeśli tak postanowią opcja Brak zaznaczenia, a następnie chcę po prostu zwrócić wszystkie stany domyślnie, w przeciwnym razie zwraca tylko listę stanów, które znajdują się na mojej liście rozdzielanej przecinkami.
To naprawdę wygląda na to, że powinno być łatwe, ale utknąłem. Oto kod, który mam do tej pory (tylko próbuję dostać próbkę do pracy), ale moje oczy w końcu zniknęły próbując je uruchomić.
Czy ktoś może wskazać mi kierunek?
begin :stateCode:='MO,FL,TX'; --:stateCode:='[ No Selection ]'; end; / select count(*) as StateCount, :stateCode as SelectedVal from hcp_state vw where (case when (:stateCode = '') then (1) when (:stateCode != '') then (vw.state_cd in (:stateCode)) (else 0) end) ;
'(inny 0) 'nie powinno mieć nawiasów . – zygimantus
@zygimantus. . . Dziękuję Ci. Ciekawe, że nie ma historii edycji, ponieważ format kodu różni się od mojego zwykłego stylu wcięcia. Wszystko ustalone teraz. –