求SQL语句。急!!!

rainsky_2008 2003-08-23 12:08:38
name:Table1 申请数量,名称,是否完成
name:Table2 供应数量,名称

我现在要根据 申请数量 和 供应数量 的大小判断出:完成,完成部分,供货为零
三种状态,并插入 是否完成 字段中。
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
OpenVMS 2003-08-23
  • 打赏
  • 举报
回复
1.
update A set 是否完成=(case when 供应数量=0 then '供货为零'
when 申请数量<=供应数量 then '完成'
when 申请数量>供应数量 and 供应数量<>0 then '完成部分' end)
from Table1 A, Table2 B where A.名称=B.名称
OpenVMS 2003-08-23
  • 打赏
  • 举报
回复
如果二个表里名称和数量都是一对一,可以这样

update A set 是否完成=(case when 供应数量=0 then '供货为零'
when 申请数量<=供应数量 then '完成'
when 申请数量>供应数量 and 供应数量<>0 then '完成部分' end)
from Table1 A, Table2 B where A.名称=B.名称

否则要按名称分组求和后在按上面的做

update A set 是否完成=(case when C.供应数量=0 then '供货为零'
when B.申请数量<=C.供应数量 then '完成'
when B.申请数量>C.供应数量 and C.供应数量<>0 then '完成部分' end)
from Table1 A left join (select 名称,sum(申请数量) 申请数量 from Table1 group by 名称) B on A.名称=B.名称
left join (select 名称,sum(供应数量) 供应数量 from Table2 group by 名称) C on A.名称=C.名称
rainsky_2008 2003-08-23
  • 打赏
  • 举报
回复
如果SQL语句不行的话,存储过程也行。
解决的朋友:我还可以再开贴给你加分600。
rainsky_2008 2003-08-23
  • 打赏
  • 举报
回复
谢谢两星高手的帮助,问题解决,还要分的话发消息给我。
再次感谢。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧