sql 查询语句

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

这是


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

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


...全文
106 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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 商品
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-12-08 10:05
社区公告
暂无公告