sql 查询语句

萧寒往往 2015-12-08 10:05:34
有一个

这是


这是两个表 一个是详情表 表名 xq 另一个是商品资料表 表名 spb

我想查某个配送时间之后的所有商品的销量 怎么写sql语句啊


...全文
126 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
comma212164 2015-12-08
  • 打赏
  • 举报
回复
转换一下就好了,前面表名我写错了
select sum(cast(数量 as int)),商品  from xq where 配送时间>='2015-10-01' group by 商品
Yole 2015-12-08
  • 打赏
  • 举报
回复

select a.商品 ,sum(isnull(cast(b.数量 as int),0)) as '数量' from spb a left join  xq b on a.商品=b.商品
where b.配送时间>='2015-10-01' 
group by a.商品
萧寒往往 2015-12-08
  • 打赏
  • 举报
回复
这一整列都是 用nvarchar(max) 存的数字
Yole 2015-12-08
  • 打赏
  • 举报
回复
您这个应该是数量字段中存在非数字的字符串了,找出来改一下吧;不然转换是没有用的。
comma212164 2015-12-08
  • 打赏
  • 举报
回复
select sum(cast(数量 as int)),商品  from spb where 配送时间>='2015-10-01' group by 商品
萧寒往往 2015-12-08
  • 打赏
  • 举报
回复
消息 8117,级别 16,状态 1,第 2 行 操作数数据类型 nvarchar(max) 对于 sum 运算符无效。
comma212164 2015-12-08
  • 打赏
  • 举报
回复
引用 5 楼 u014051479 的回复:
[quote=引用 2 楼 u014051479 的回复:] 要查全部的 做到一个表里面啊、
不行 字符串是 varcher 类型的[/quote] 你难道说 数量 是 varcher 类型??????????
Yole 2015-12-08
  • 打赏
  • 举报
回复
4#那个语句不行么?报什么错误?
Pact_Alice 2015-12-08
  • 打赏
  • 举报
回复
select sum(数量) as '数量',商品 from xq where 配送时间>='2015-10-01' group by 商品
萧寒往往 2015-12-08
  • 打赏
  • 举报
回复
引用 2 楼 u014051479 的回复:
要查全部的 做到一个表里面啊、
不行 字符串是 varcher 类型的
Yole 2015-12-08
  • 打赏
  • 举报
回复

select a.商品 ,sum(isnull(b.数量,0)) as '数量' from spb a left join  xq b on a.商品=b.商品
where b.配送时间>='2015-10-01' 
group by a.商品
Yole 2015-12-08
  • 打赏
  • 举报
回复

select sum(数量) as '数量',商品 from xq 
where 配送时间>='2015-10-01' 
group by 商品
萧寒往往 2015-12-08
  • 打赏
  • 举报
回复
要查全部的 做到一个表里面啊、
comma212164 2015-12-08
  • 打赏
  • 举报
回复
是这样吗?
select COUNT(销量),商品 from spb where 配送时间>='2015-10-01' group by 商品

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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