Foxtable(狐表)用户栏目专家坐堂 → 请教SQL语句写法


  共有3862人关注过本帖树形打印复制链接

主题:请教SQL语句写法

帅哥哟,离线,有人找我吗?
baoxyang
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
请教SQL语句写法  发帖心情 Post By:2014/7/4 10:30:00 [只看该作者]

表一:托运单据
托运单号 异常次数 销单否
表二:异常信息
托单号 销单否
现在要用COUNT统计异常信息的托单号的记录数并赋值给托运单据相应的异常次数
 

update 托运单据 a set a.异常次数 =(select b.counts from (select 托单号,count(*) counts from 异常信息 where 销单否 = '否' group by 托单号 ) b where a.托运单号 = b.托单号 and a.销单否 = '否')

这个语句有错,请帮忙应如何写?谢了!!


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/4 10:34:00 [只看该作者]

 呃,很简单,参考正确例子

 

update A set 列名 = B.列名 from (select 编码,count(*)as 列名1,SUM(CASE WHEN 条件 THEN 1 ELSE 0 END) AS 列名 from c表 group by 编码) as B where A.编号 = B.编号

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/4 10:35:00 [只看该作者]

...
[此贴子已经被作者于2014-7-4 10:42:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2014/7/4 10:50:00 [只看该作者]

消息 102,级别 15,状态 1,第 1 行
'a' 附近有语法错误。
消息 156,级别 15,状态 1,第 1 行
关键字 'where' 附近有语法错误。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/4 10:54:00 [只看该作者]

请贴出你的代码

 

update 托运单据 a set 异常次数 = b.counts from (Select 托单号,count(*) counts from 异常信息 where 销单否 = '否' group by 托单号 ) b where a.托运单号 = b.托单号 and a.销单否 = '否'


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2014/7/4 10:56:00 [只看该作者]

以下是引用有点甜在2014-7-4 10:54:00的发言:

请贴出你的代码

 

update 托运单据 a set 异常次数 = b.counts from (Select 托单号,count(*) counts from 异常信息 where 销单否 = '否' group by 托单号 ) b where a.托运单号 = b.托单号 and a.销单否 = '否'

上述代码提示如下错误

消息 102,级别 15,状态 1,第 1 行
'a' 附近有语法错误。
消息 102,级别 15,状态 1,第 1 行
'b' 附近有语法错误。


 回到顶部
帅哥哟,离线,有人找我吗?
jijianjsj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:268 积分:2227 威望:0 精华:0 注册:2013/2/4 11:02:00
  发帖心情 Post By:2014/7/4 11:25:00 [只看该作者]

update 托运单据  set 异常次数 = b.counts from 托运单据 left join (Select 托单号,count(*) counts from 异常信息 where 销单否 = '否' group by 托单号 ) b on  托运单据 .托运单号 = b.托单号 where  托运单据 .销单否 = '否'
[此贴子已经被作者于2014-7-4 11:26:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2014/7/4 21:36:00 [只看该作者]

以下是引用jijianjsj在2014-7-4 11:25:00的发言:
update 托运单据  set 异常次数 = b.counts from 托运单据 left join (Select 托单号,count(*) counts from 异常信息 where 销单否 = '否' group by 托单号 ) b on  托运单据 .托运单号 = b.托单号 where  托运单据 .销单否 = '否'
[此贴子已经被作者于2014-7-4 11:26:49编辑过]

OK,多谢指点!


 回到顶部