求一sql【谢谢】 - MS-SQL Server / 基础类
需求如下:
a表:
p_id status
1 0
2 0
b表
rec_id pid purchase_qty receive_qty flag
1 1 10 10 0
2 1 1000 1000 0
3 2 25 10 1
4 2 25 25 0
想得到如下的结果:
1.如果b表中的purchase_qty=receive_qty,且b表中的pid关联a表中的p_id,当a表中所有在b表中的pid=1且purchase_qty与receive_qty相同时,更新a表中的status为1
2.如果B表中的flag为1的话,表示这条记录也完成了,不需要考虑purchase_qty=receive_qty这样的条件,也将a表中的status更新为1
谢谢大家乐
这么快就沉了,up
SQL code:
update @ta
set status=1
from @ta a,@tb b
where a.p_id=b.pid
and (purchase_qty=receive_qty or flag=1)
??
SQL code:
update a表 A set status=1 where
exists(select 1 from b表 where A.pid=pid and (purchase_qty=receive_qty or flag=1))
??
SQL code:
update a set status = case when
b.purchase_qty = b.receive_qty and b.pid = 1
相关问答:
大家帮忙看看这2个sql语句哪个查询的速度更快点。谢谢帮忙。比较着急。在做性能测试。
select * from
表A LEFT OUTER JOIN 表B ON (表A.id || ' ' =表B.id) ,表C , 表D, 表E
Where其他条件
select * ......
pl/Sql如何查询字符串包括%,
例如:TABLE a
columnA
'222'
'33%44'
如何查询表a中columnA字段中哪些行包含'%'
谢谢
select * from a
where columna like '%/%%' escape '/'
UP
SELECT * from a ......
我要得到一个字符串如:
sdfk|||sgts
sdfsfd|||rgreg
wrfw|||sefw
就是要得到|||后面的字符串,有什么函数吗?怎么用呢?谢谢!
SQL code:
select
right(col,len(col)-charindex('|||',col)-2)
f ......
有2个表啊:
表名:yh
用户编码 用户名称
001 a
002 b
003 c
表名:ys
用户编码 本期指数 抄表时间
001 ......
我要做一个定点事件,是每天晚上12点就把三个表里的信息放入一个表里,我想用存储过程来写,怎么写呢?,那位高手帮帮忙吧,非常感谢!
用户名是唯一的
表A 字段
用户名:Name ,邮箱:Ema ......