帮忙写个存储过程或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是同个东西,字段名不同。
展开
展开全部
先讲一下是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
额.在使用前做好测试.同时,保证肯定会有结果..毕竟无限循环不怎么好玩.
希望对你有所帮助,祝你好运喽~~
在不同的语言中,系统关键字不同的
算了,直接写了:(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 条件
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询