oracle怎么用查询结果当作where条件?

在oracle中case when 只能用在结果中,要达到下面语句的效果,需要怎么写语句?
select * from t_web where
case f2
when 'all' then orgid in ('1000','2000','3000','1')
when 'part' then f4 like '%7275765e731549f0bfa24c83151d4134%'
when 'owner' then orgid='1' end
order by sortid,topid asc,releasetime desc
是要达到这种效果:
当查询出f2的值是all的时候,查询条件是orgid in ('1000','2000','3000','1'),
当查询出f2的值是part的时候,查询条件是of4 like '%7275765e731549f0b%',
当查询出f2的值是owner的时候,查询条件是orgid='1'。

    oracle怎么用查询结果当作where条件?

    1. exists

    where exists (select 1 from abc where xxx)

    2. in

    where xxx in (select xxx from abc where ...)

    3. = (只能返回一行)
    where xxx = (select xxx from abc where ...)

    当然,子查询中是可以使用外部的表。
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle 怎样将select 语句的查询结果作为另一个select 语句where...
1、首先我们先看一下我们的这个表信息。2、接着我们使用创建查询的方法,来测试sql。3、select的where的条件查询格式:select 【所选字段列表】 from 【数据表名】 where 条件表达式。4、上面那个是查询表中年龄大于10的数据。5、当然如果你有多个条件也可以写,多个条件表达式。要是用and进行连接。and...

oracle 中查询结果作为查询条件
select * from t2 inner join t1 on t2.A=t1.A and t2.B=t1.B where exists((select t3.A,t3.B from t3 where t2.A=T3.B AND ...)就这样!

oracle将查询的结果值作为下一个查询的字段列。
3、使用游标 n_deptno:=20;dyn_select := 'select empno,ename from emp where deptno='||n_deptno;OPEN my_cursor FOR dyn_select;LOOP FETCH my_cursor INTO n_empno,v_ename;EXIT WHEN my_cursor%NOTFOUND;--用n_empno,v_ename做其它处理 --...END LOOP;CLOSE dl_cursor;4、小结:动...

oracle update语句将一个语句的查询结果作为set值怎么做?【特急】
update test set set b=select b1 from temp where test.id=temp.id);给你举了个例子,id是这两个表都有的连接字段,而且对同一个id。查询select * FROM TEST,TEMP where test.id=temp.id 仅返回一条

Oracle中如何将查询出来的数据当成一个新表用
可以用以下两种方式:1、select xx from (select xx from tablename) ;2、 WITH a AS (SELECT * FROM bd_member WHERE ROWNUM<10),b AS (SELECT * FROM tp_trade_card)select A.MEMBER_NAME,B.CARD_NO from A,B where A.BD_MEMBER_ID = B.BD_MEMBER_ID ...

oracle将一行数据当成条件的用法
where b.person_id in (select a.person_id from B a group by a.person_id having count(a.id)>1))select t.id,wmsys.wm_concat(t.childs) childs from tmp1 t group by t.id;11luci:女,tom:男 (这个地方会出现反过来 如果没有影响则不用修改,如果要按照B表ID来拍的话,还需要...

oracle 怎么把第一个表的查询结果作为第二个表的被查询字段
execute immediate ‘select ' || (select 字段 from 表1 where rownum=1) || ' from 表2'

【Oracle】使用WHERE
在Oracle SQL中,使用WHERE子句通过条件比较筛选查询结果。比较运算符包括:=, >, <, ! = (<>, ^=), <=, >=, ANY (SOME), ALL。ANY (SOME)用于比较列表中的任一值,只要有一个满足条件就为真;ALL用于比较所有值都满足条件。ANY (SOME)与ALL运算符需与比较运算符一起使用,若子查询无...

oracle 中怎样把查询结果当做已知量或赋值给某个变量?
z)里面的x字段类型一致 v_y NUMBER; --必须和addpoint(x,y,z)里面的y字段类型一致 ...begin select xxx,yyy into v_x, v_y from table; --把table表中xxx,yyy的值赋给v_x,v_y.你可以自己写查询 ...update station set set geom=addpoint(v_x,v_y,z)where id=1;...end ...

在oracle中怎么将查询到的数据插入到另一个表中?
在Oracle数据库中,将查询结果插入到新表的操作相当直接。以下是详细的步骤:首先,你需要使用SQL的INSERTINTO语句。假设你要将数据从表s_tab插入到表t_tab中,可以这样操作:INSERTINTOt_tab 然后,添加一个子查询,通过指定条件筛选你需要插入的数据。例如,如果你只想把满足特定条件的行插入,可以写成...

相似回答