请教简单的sql语句

apple800 2004-12-29 03:13:08
这么CASE处出错的,不明白,
UPDATE RenMonth SET CASE WHEN MONTH(IntoDate)=1 THEN Month1=Month1+1
WHEN MONTH(IntoDate)=2 THEN Month2=Month2+1
WHEN MONTH(IntoDate)=3 THEN Month3=Month3+1
WHEN MONTH(IntoDate)=4 THEN Month4=Month4+1
WHEN MONTH(IntoDate)=5 THEN Month5=Month5+1
WHEN MONTH(IntoDate)=6 THEN Month6=Month6+1
WHEN MONTH(IntoDate)=7 THEN Month7=Month7+1
WHEN MONTH(IntoDate)=8 THEN Month8=Month8+1
WHEN MONTH(IntoDate)=9 THEN Month9=Month9+1
WHEN MONTH(IntoDate)=10 THEN Month10=Month10+1
WHEN MONTH(IntoDate)=11 THEN Month11=Month11+1
ELSE Month12=Month12+1
END
WHERE MoveInfo= RenEnd

Month8 列是表示那一月的,IntoDate是具体日期,就是发现一个该月的记录,该月的记录增加1
那位大侠有好的方法,请教了。
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
long111 2004-12-29
  • 打赏
  • 举报
回复
是这个意思?
UPDATE RenMonth
SET
Month1 = Month1 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month2 = Month2 + (CASE WHEN MONTH(IntoDate)=2 THEN 1 ELSE 0 END),
Month3 = Month3 + (CASE WHEN MONTH(IntoDate)=3 THEN 1 ELSE 0 END),
Month4 = Month4 + (CASE WHEN MONTH(IntoDate)=4 THEN 1 ELSE 0 END),
Month5 = Month5 + (CASE WHEN MONTH(IntoDate)=5 THEN 1 ELSE 0 END),
Month6 = Month6 + (CASE WHEN MONTH(IntoDate)=6 THEN 1 ELSE 0 END),
Month7 = Month7 + (CASE WHEN MONTH(IntoDate)=7 THEN 1 ELSE 0 END),
Month8 = Month8 + (CASE WHEN MONTH(IntoDate)=8 THEN 1 ELSE 0 END),
Month9 = Month9 + (CASE WHEN MONTH(IntoDate)=9 THEN 1 ELSE 0 END),
Month10= Month10+ (CASE WHEN MONTH(IntoDate)=10 THEN 1 ELSE 0 END),
Month11= Month11+ (CASE WHEN MONTH(IntoDate)=11 THEN 1 ELSE 0 END),
Month12= Month12+ (CASE WHEN MONTH(IntoDate)=12 THEN 1 ELSE 0 END)
WHERE
MoveInfo = RenEnd
apple800 2004-12-29
  • 打赏
  • 举报
回复
上面说的不明白

a表:
ABC ABCD
a 2004-01-01
b 2004-02-04
a 2004-12-25
b 2004-10-10
c 2004-06-08

由a表得到B表
B表
ASum Month1 Month2 Month3 .... Month10 Month11 Month12
a 1 0 0 0 0 1
b 0 1 0 1 0 0
c 0 0 0 0 0 0
子陌红尘 2004-12-29
  • 打赏
  • 举报
回复
UPDATE RenMonth
SET
Month1 = Month1 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month2 = Month2 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month3 = Month3 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month4 = Month4 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month5 = Month5 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month6 = Month6 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month7 = Month7 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month8 = Month8 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month9 = Month9 + (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month10= Month10+ (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month11= Month11+ (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END),
Month12= Month12+ (CASE WHEN MONTH(IntoDate)=1 THEN 1 ELSE 0 END)
WHERE
MoveInfo = RenEnd
LBYYBL 2004-12-29
  • 打赏
  • 举报
回复
没看懂

27,580

社区成员

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

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