oracle中怎样用一个sql语句根据同一表中不同字段的条件查询该表中另一字段中不同的值

如题所述

1、通过PL/SQL Developer登入到数据库的管理界面。

2、在developer的主界面左侧,找到tables,并展开。

3、在展开的表中,找到要修改的表,并在其上单击鼠标右键,选择Edit。

4、在弹出的Edit table中选择Columns,去找我们想要查询的字段。

5、找到目标字段,修改需要的长度,点击apply保存。

6、选中失效的存储过程,单击鼠标右键,选择Recompile。等待过程结束就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-28
首先你这里的不同字段 应该有个优先级别,类似先判断哪个字段然后判断哪个字段..
如果仅仅以字段 和 字段值 来作为条件 用DECODE 套 DECODE 直到符合你的逻辑需求。
如果牵扯到两个字段值的比较 例如 如果字段A等于字段B则显示XXX 这种判断请使用NULLIF配合DECODE也可以用WHEN CASE (9以前可能不支持NULLIF)

如果是模糊比较例如 字段A 大于字段B 需要更多的函数来判断 常用的有 SIGN..通过加减法之后的结果来判断两个字段大小。追问

比如有表table,有A,B,C,三个字段C中有1,2,3,4几个值,我需要根据AB中不同值查对应的C中的值。select C from table where A=…and B=…。

追答

select A,B,DECODE(A,'X',C),DECODE(B,'X',C) from tab
你不说你所谓的判断逻辑我只能这么写..
举个例子 查 C 条件 如果 A=1 ,B=2 则显示C 如果A=2,显示3 如果B=3 显示0 其他全部显示 X
select dcode(a,1,decode(b,2,C),2,3,decode(B,3,0,'x') from tab;

本回答被提问者采纳
第2个回答  2011-11-17
--记得及时采纳,今天任务还没完成,只差一个了
相似回答