求一存储过程,谢谢大侠了,急急!!!!!

Barry_leung 2010-08-11 12:04:48
有4个表如下:
T1:ship_code,descrtion
T2: custnum,custseq,ship_code,whse,shipto_mail
T3: Order,custnum,custseq,ship_code,shipto
T4: Order,Line,custnum,custseq,duedate,promisedate
其中duedate和promisedate 为datetime

1. 如果T4的custseq为空,将使用T3的custseq,,否则,使用T4的custseq,
2. T1中的ship_code有3种:sea,air,others
3. 如果ship_code=sea, 则自动更新duedate, duedate=promisedate+20天,并且如果duedate是在每月的15日或者之后,则需要再加30天时间
如果ship_code=air, 则自动更新duedate, duedate=promisedate+7天,并且如果duedate是在
每月的15日或者之后,则需要再加30天时间
如果ship_code=others, 则自动更新duedate, duedate=promisedate+2天,并且如果duedate是在每月的15日或者之后,则需要再加30天时间
注意:promisedate是已经输入了系统.
...全文
168 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Barry_leung 2010-08-22
  • 打赏
  • 举报
回复
还是没有人出来帮忙?失望啊
kitajima-- 2010-08-19
  • 打赏
  • 举报
回复
update T4 set duedate=
CASE WHEN T4.custnum is null then ship_code = t3.ship_code
when T4.custnum is not null then ship_code=(select ship_code from t4,t2 where t4.custnum=t2.custnum and t4.seq=t2.seq)
end.
CAST(ship_code AS varchar(20)) ='air' and day(dateadd(d,7,promisedate))>=15 then dateadd(d,37,promisedate)
CAST(ship_code AS varchar(20))='others' and day(dateadd(d,2,promisedate))>=15 then dateadd(d,32,promisedate)
WHERE T4.Order=T3.Order and T1.ship_code=T3.ship_code
//--注:在1#楼的基础上变动的,您看合适吗,不常写Procedure
请问1#楼,您回复的帖子带 颜色字体 是用什么工具回复的呢
Barry_leung 2010-08-19
  • 打赏
  • 举报
回复
重新整理了一下,
有4个表如下:
T1:ship_code,descrtion
T2: custnum,custseq,ship_code,whse,shipto_mail
T3: Order,custnum,custseq,ship_code,shipto
T4: Order,Line,custnum,custseq,duedate,promisedate
其中duedate和promisedate 为datetime

1.1 If T4.custnum是空,then ship_code=t3.ship_code
1.2 If T4.custnum不是空,then ship_code=(select ship_code from t4,t2
where t4.custnum=t2.custnum and t4.seq=t2.seq)

2.1 If ship_code=air, then Due_date=promise_date-7 ,大等于15日,则due_date为上月15日
2.2 If ship_code=sea, then Due_date=promise_date-42 ,大等于15日,则due_date为上月15日
2.3 If ship_code=others, then Due_date=promise_date-2 ,大等于15日,则due_date为上月15日
Barry_leung 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 w87875252l 的回复:]
有点乱
[/Quote]

是有点乱,因为数据比较多,有邮箱可以单独发送给你,这样就直观了.
Barry_leung 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oraclers 的回复:]
引用 2 楼 barry_leung 的回复:
意思是在更新duedate时,优先考虑T3的custseq,然后再考虑T4的custseq,上面是的sql语句没有考虑这个条件.

按你说的更新DueDate好象与CustSeq没关系。
[/Quote]

当然有关系,因为关系Duedate是根据shipe_code计算,而在T4中没有该字段,是依据T4中的custseq和custnum才能确定ship_code.
Oraclers 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 barry_leung 的回复:]
意思是在更新duedate时,优先考虑T3的custseq,然后再考虑T4的custseq,上面是的sql语句没有考虑这个条件.
[/Quote]
按你说的更新DueDate好象与CustSeq没关系。
w87875252l 2010-08-18
  • 打赏
  • 举报
回复
有点乱
duanzhi1984 2010-08-11
  • 打赏
  • 举报
回复

1.如果T4的custseq为空,将使用T3的custseq,,否则,使用T4的custseq??、不晓得什么意思

3.
update T4 set duedate=
CASE WHEN ship_code='sea' and day(dateadd(d,20,promisedate))>=15 then dateadd(d,50,promisedate)
WHEN ship_code='air' and day(dateadd(d,7,promisedate))>=15 then dateadd(d,37,promisedate)
WHEN ship_code='others' and day(dateadd(d,2,promisedate))>=15 then dateadd(d,32,promisedate)
else duedate end
from T4,T1,T3
WHERE T4.Order=T3.Order and T1.ship_code=T3.ship_code
Barry_leung 2010-08-11
  • 打赏
  • 举报
回复
意思是在更新duedate时,优先考虑T3的custseq,然后再考虑T4的custseq,上面是的sql语句没有考虑这个条件.
你想当“李逍遥”式的“大侠”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

27,579

社区成员

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

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