Wpis z mikrobloga

@wankstain: @Jakubussimus: @pwn3r:
a to nie chodzi o coś w stylu:

with pracownicy as (
select 'a' pracownik from dual union all
select 'b' pracownik from dual union all
select 'c' pracownik from dual union all
select 'd' pracownik from dual union all
select 'e' pracownik from dual
)
select pracownik from pracownicy
union
select 'x' from dual

?
@janek_: no wlaśnie mało koleś wytlumaczyl co chce zrobić. Też bym kombinował z "with pracownicy as"
I tak przy okazji zamiast robic oddzielne selecty from dual z unionami np. w oraclu mozna zrobic cos takiego:
select * FROM sys.odcivarchar2list('A','B','C','D', 'E');

są wbudowane funkcje które ci z listy zrobią wygodnego selecta
@wankstain: ale po co where? :) u mnie działa w ten sposób (wszystkie stringi traktuj jako placeholdery:)

select column_value as pracownik
from sys.odcivarchar2list('wartość_z_gui_A','wartość_z_gui_B','wartość_z_gui_C','wartość_z_gui_D', 'wartość_z_gui_E')
union
select 'wartość_z_innej_kontrolki_w_gui' from dual

wartość_z_innej_kontrolki_w_gui wyświetli się tylko jeśli nie ma jej wśród pięciu wartość_z_gui_
wklej sobie moje zapytanie do oracle'a i zobacz co się stanie :)

Ogólnie to nie wiadomo, o co chodzi w zadaniu, ale moim zdaniem moje rozwiązanie działa

cc. @pwn3r:
via Wykop Mobilny (Android)
  • 0
@janek_: chodziło mi o to, że muszę wyselectować jakieś info o 5 pracownikach podanych w gui. Z tym, że jeśli wśród tych pięciu jest pracownik X, to dodatkowo wyciągnij info o jeszcze jednym, Y, którego nie dało się wybrać w gui. Na select wartość_z_innej_kontrolki_w_gui nie wpływa to, czy występowała wśród pięciu wartości_z_gui. Na pewno jej tam nie będzie. Ale jedna specyficzna wartość_z_gui musi spowodować, że wartość_z_innej_kontrolki zostanie uwzględniona. Mam nadzieję,
@wankstain: Mała wskazówka co do wydajności Twoich zapytań - nie przekazuj dynamicznych wartości jako parametrów do IN... Baza każde takie zapytanie z inną liczbą elementów będzie traktowała jako oddzielne, co może skutkować przeróżnymi problemami. Lepiej wsadzić to w listę, użyć JSON_TABLE lub użyć funkcji "pipelined table" jeśli piszesz SQL typowo pod aplikację.