子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

Jock_Wong 2016-06-02 01:53:03
UPDATE zlemployee SET State = (CASE WHEN LzCause='03' THEN 99 WHEN LzCause='04' THEN 99 ELSE 9 END)
WHERE State=0 AND LzDate IS NOT NULL AND LzDate<=(select convert(varchar(10),getdate(),120))

这个语句哪里有问题?求大师指点
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
...全文
1419 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44479491 2019-01-10
  • 打赏
  • 举报
回复
你把<=换成 in 就行了 , 我刚刚遇到了这个问题。。
gw6328 2016-06-02
  • 打赏
  • 举报
回复
后面那个select可以去掉。
中国风 2016-06-02
  • 打赏
  • 举报
回复
估计是#1所说,触发器不支持同时更新多条记录 在SSMS里查看,或用语句 SELECT * FROM sys.triggers WHERE parent_id=OBJECT_ID('表名')
xdashewan 2016-06-02
  • 打赏
  • 举报
回复
UPDATE zlemployee SET State = (CASE WHEN LzCause='03' THEN 99 WHEN LzCause='04' THEN 99 ELSE 9 END) WHERE State=0 AND LzDate IS NOT NULL AND LzDate<=getdate()
卖水果的net 2016-06-02
  • 打赏
  • 举报
回复
你现在这条语句,没有问题的; zlemployee 表上应该有触发器,你查一下,把语句贴上来;

27,581

社区成员

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

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