求一个SQL立马结贴给分。。。。

my97datepicker 2010-08-17 08:53:58


ID amount


查询表,将ID相同的amount全部加起来查询出整个表,amount为nvarchar类型
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
my97datepicker 2010-08-17
  • 打赏
  • 举报
回复
算了,虽然不是我要的但是我已经解决了
水族杰纶 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sqlcenter 的回复:]
这样?
[/Quote]
都是靠猜
水族杰纶 2010-08-17
  • 打赏
  • 举报
回复
--amount如果有小数必须先转换
declare @t table(ID int,amount nvarchar(10))
insert @t select 1,'12.3'
insert @t select 1,'12'
insert @t select 2,'1.0'
select ID,
sum(cast(amount as dec(18,2)))amount
from @t
where isnumeric(amount)=1
group by ID
SQLCenter 2010-08-17
  • 打赏
  • 举报
回复
这样?
obuntu 2010-08-17
  • 打赏
  • 举报
回复
select id,sum(convert(amount as int)) as amount_sum
from table
group by id
SQLCenter 2010-08-17
  • 打赏
  • 举报
回复
if object_id('#') is not null drop table #
create table #(ID int, amount varchar(8))
insert into #
select 1, 'F' union all
select 2, 'E' union all
select 2, 'D' union all
select 3, 'C' union all
select 3, 'B' union all
select 3, 'A'
go

select ID, amount = stuff((select ',' + amount from # where ID = t.ID for xml path('')) , 1, 1, '') from # as t group by ID
go
/*
ID amount
---- --------
1 F
2 E,D
3 C,B,A
*/
水族杰纶 2010-08-17
  • 打赏
  • 举报
回复
select ID,
sum(amount)amount
from tb
where isnumeric(amount)=1
group by id

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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