需要帮助。我在这里将我的要求放在简单的步骤中。我有如下数据。
with x as (
select 'a=x AND b=y AND c=z' C1, 'a' C2, '100' C3 from dual union all
select 'a=x AND b=y AND c=z' C1, 'b' C2, '200' C3 from dual union all
select 'a=x AND b=y AND c=z' C1, 'c' C2, '300' C3 from dual union all
select 'a=x AND d=y AND c=z' C1, 'd' C2, '400' C3 from dual union all
select 'a=x AND e=y AND c=z' C1, 'e' C2, '500' C3 from dual
)
select * from x;
我的输出如下:
C1 C2 C3
------------------------------
a=x AND b=y AND c=z a 100
a=x AND b=y AND c=z b 200
a=x AND b=y AND c=z c 300
a=x AND d=y AND c=z d 400
a=x AND e=y AND c=z e 500
我正在寻找查询以获取如下所示的输出。我在一个列(C1)中有一个条件,在同一表格的不同列(C2和C3)中也有查找数据。如果列C2中存在任何字符串,我想用列C3中的值替换C1中的值。
100=x AND 200=y AND 300=z a 100
100=x AND 200=y AND 300=z b 200
100=x AND 200=y AND 300=z c 300
100=x AND 400=y AND 300=z d 400
100=x AND 500=y AND 300=z e 500
我的确切要求是,我有一个表,其中的列包含上述WHERE条件(C1)。他们在条件中使用了业务列名称,并且同一表中的DB(C3)中有第二列具有业务名称(C2),第三列具有实际物理列名称。我正在寻找查询,该查询可以通过将C2列替换为C3列中的相应值来替换C1中的公司名称。