oracle - Static in clause sql -


i'm trying put more 1 static in clause in sql (oracle) , not working, 1 has idea or work around it. below i'm trying do

select *  table ('1', '2') in ('1', '2', '3') 

i know can done using or clause don't want use there many arguments.

i'm guess query intended flexible handle bunch of input options , dynamically adjust output in way. perhaps approach work. these bi systems going still want syntactically valid query unfortunately can't build whole query dynamically.

with list(val) (     select val master_list_of_values val in (? /* bi_parameter */) ) select * table         in (select id list)     or  b in (select id list) 

update: based on edit, work although don't know if generate great plans:

with security_test(passed) (     select count(*) passed     security_groups     group_id in (? /* bi_parameter */) , group_id in (/* hard-coded list */) ) select * table (select passed security_test > 0) 

you use hard-code list in values expression instead of using "security_groups" table.

with security_test(passed) (     select count(*) passed     (values (1), (2)) security_groups(group_id)     group_id in (? /* bi_parameter */) ) select * table (select passed security_test > 0) 

here's thought...

with security_test(passed) (     select count(*) passed     (values (1), (2)) security_groups(group_id)     group_id in (? /* bi_parameter */)     having count(*) > 0 /* collapse 0 rows? */ ) select * table, security_test 

Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -