oracle 怎样将select 语句的查询结果作为另一个select 语句where 后面的查询条件

select sysdate
from dual
where (select case
when (zys - bjs = zys) then
'1=1 and xb=''1'''
when (abs(zys - bjs) = bjs) then
'2=2 and xb=''1'''
else
'3=3 and xb=''1'''
end
from (select (select count(*)
from jx0503tzd
where jx0404id = xk.jx0504id) zys,
(select count(*)
from jx0503tzdbj
where jx0404id = xk.jx0504id) bjs
from jx0504 xk
where xk.jx0504id = '201120122000571'))
类似这样的,当然这样是不行的

1、首先我们先看一下我们的这个表信息。

2、接着我们使用创建查询的方法,来测试sql。

3、select的where的条件查询格式:select 【所选字段列表】 from 【数据表名】 where 条件表达式。

4、上面那个是查询表中年龄大于10的数据。

5、当然如果你有多个条件也可以写,多个条件表达式。要是用and进行连接。and就是并且的意思。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-10
你这样太复杂了。

无非就是下面几种:
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 ...)

当然,子查询中是可以使用外部的表。

比如
select * from a where exists (select 1 from b where a.id = b.id)本回答被提问者采纳
第2个回答  2012-08-28
你后面的select 语句得到的是,一个字段值还是,一个table?这两个方式不一样
第3个回答  2015-09-22
select * from table_a
where (c,b) in (select c1,c2 from table_b )
第4个回答  2012-08-28
子查询

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

oracle将查询的结果值作为下一个查询的字段列。
一、使用动态游标实现 1、声明动态游标 TYPE i_cursor_type IS REF CURSOR;2、声明游标变量 my_cursor i_cursor_type;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_...

oracle截取某一字符串中的全部数字作为另外一个查询语句中in的查询条件...
select * from xxx_table where id like '2,%' or id like '%,2,%' or id like '%,2'

oracle如何实现查询一张表的结果为空时,转而查询另一张表的另个...
select a.*,rownum rn from (select a, rownum from stu1 where id=1 union all select b from stu2 where id=2 ) a ) where rn =1 类似于这样,但是得结合业务需求来,但很明显就是所有结果全查了,说不上好不好主要还是看数据主要落在哪个分布上,针对性去调整来优化性能 否则的话,这...

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后面再作判断条件
1. 当你需要查找特定值时,如获取itemcode为"Item001"的记录,可以这样编写SQL语句:`SELECT * FROM tblTest WHERE itemcode = 'Item001'`。这将返回所有itemcode字段值为"Item001"的行。2. 如果你想筛选itemnum大于某个数值,例如50,可以使用大于(>)或大于等于(>=)的条件,例如:`SELECT *...

求oracle 从一个表中取出数据作为参数 修改另一个表的sql语句
1.查询a表结果,作为更新b表的条件;update table_b set col_1 = '123'where col_2 in (select col_22 from table_a where ...);2.查询a表结果,用来更新b表指定条件 update table_b set col_1 = (select col_11 from table_a where col_22 = table_b.col_2)where ...不知道你...

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

在oracle中怎么将查询到的数据插入到另一个表中?
首先,你需要使用SQL的INSERT INTO语句。假设你要将数据从表s_tab插入到表t_tab中,可以这样操作:INSERT INTO t_tab 然后,添加一个子查询,通过指定条件筛选你需要插入的数据。例如,如果你只想把满足特定条件的行插入,可以写成:SELECT * FROM s_tab WHERE 条件 这里的"条件"需要替换为实际的查...

在oracle中怎么将查询到的数据插入到另一个表中
1、首先,一个学生数据表,在这里需要修改数据表中StudentName数据表中的个人数据,如下图所示,然后进入下一步。2、其次,完成上述步骤后,打开数据库查询语句,输入查询语句,然后首先查询数据表中的数据内容,如下图所示,然后进入下一步。3、接着,完成上述步骤后,输入查询语句:Select * from...

相似回答