sql - Using Column Values from One Table within a Where Clause -


i have oracle table called: col_mapping column in table has column values of columns table.

example data of table: col_mapping

    id    descr     col_vals ------------------------------     1     label     col_1     2     name_addr col_2:col_3     3     salary    col4 

based on above table, go through each record in col_mapping , use col_vals part of condition in table called other_tab, i.e.:

select 'y'  other_tab col_1 = 'whatever1';  select 'y'  other_tab (col_2 = 'whatever2' or col_3 = 'whatever2');  , finally:  select 'y'  other_tab col_4 = 'whatever4'; 

i split out col_vals condition , there more 1 value colon separated, turn or condition above examples.

any on how achieve above in oracle great.

thanks.

this not tested. how believe can accomplished. need 2 loops. 1 loop through table col_mapping , other loop through column col_vals each row , construct condition.

something this:

declare   a_where_vars apex_application_global.vc_arr2;  --you can replace own associative array here l_where_string varchar2(4000);  begin    in (select id, descr, col_vals col_mapping)   loop   a_where_vars := apex_util.string_to_table(i.col_vals, ':')  --split values array      j in 1 .. a_where_vars.count loop     l_where_string := l_where_string||a_where_vars(j)||' = '||whatever_variable||' or ';     end loop;    --you can remove last or , clean l_where_string    --then query:   execute immediate := '   select ''y''   other_tab   '||l_where_string    end loop some_binding_variables;   --other queries. end; / 

Comments

Popular posts from this blog

scala - 'wrong top statement declaration' when using slick in IntelliJ -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

PySide and Qt Properties: Connecting signals from Python to QML -