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

 我来答
电子数码小百科NW
2020-02-18 · TA获得超过6493个赞
知道答主
回答量:15
采纳率:0%
帮助的人:4023
展开全部

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

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

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

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

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

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

infiltrators
推荐于2016-11-28 · TA获得超过151个赞
知道答主
回答量:65
采纳率:100%
帮助的人:46.2万
展开全部
首先你这里的不同字段 应该有个优先级别,类似先判断哪个字段然后判断哪个字段..
如果仅仅以字段 和 字段值 来作为条件 用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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiuo6192
2011-11-17 · TA获得超过207个赞
知道答主
回答量:304
采纳率:0%
帮助的人:161万
展开全部
--记得及时采纳,今天任务还没完成,只差一个了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式