帮忙写个存储过程或sql语句,根据id从表1中查询一个字段a,当a不满足条件时,根据此id关联另一张表2的id

根据id从表1中查询一个字段a,当a不满足条件时,根据此id关联另一张表2的id,找出另一张表一个字段b,再根据字段b查询出表1的字段a,a再不满足此条件时,重复刚才,直... 根据id从表1中查询一个字段a,当a不满足条件时,根据此id关联另一张表2的id,找出另一张表一个字段b,再根据字段b查询出表1的字段a,a再不满足此条件时,重复刚才,直到查询出的字段满足条件,表1的id和表2的id和b是同个东西,字段名不同。 展开
 我来答
931187125
2013-03-06 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:123
采纳率:100%
帮助的人:153万
展开全部
先讲一下是SQL Server还是Oracle??
在不同的语言中,系统关键字不同的

算了,直接写了:(SQL Server版本)
declare @a 这个是什么类型
select a into @a from 表1 where id=你的条件ID
while(@@rowcount=0)
begin
select b into 你的条件ID from 表2 where id=你的条件ID
select a into @a from 表1 where id=你的条件ID
end
额.在使用前做好测试.同时,保证肯定会有结果..毕竟无限循环不怎么好玩.
希望对你有所帮助,祝你好运喽~~
追问
oralce,补充下,最后将a满足条件的表1的id取前三位update到某表中。
追答
额.你反应好慢...还要再写一个!!
declare v_a 这个是什么类型;
select min(a) into v_a from 表1 where id=你的条件ID
while(sql%rowcount=0)
loop
select min(b) into 你的条件ID from 表2 where id=你的条件ID ;
select min(a) into v_a from 表1 where id=你的条件ID;
end loop;
update 表3
set 列=substr(v_a,1,3)
where 条件
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式