标题:[求助]一道有点难度的SQL
只看楼主
qianxiaogang
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-12-5
 问题点数:0 回复次数:10 
[求助]一道有点难度的SQL
有一张表为
a 1
b 2
b 3
c 4
c 5
c 6
请用SQL变为
a 1
b 23
c 456
请问怎么实现?
搜索更多相关主题的帖子: SQL 难度 SQL 
2006-12-07 16:06
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 

function test(@f1 varchar(100))
declare @result varchar(100)

select @result=@result+f2
from table where f1=@f1
group by f1,f2
return @result


select f1,test(f1) as f2 from table group by f1


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-12-07 16:31
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 

假设表名是MyTable 字段是ID(varchar(4))(a,b...) Num(varchar(4))(1,2....)
create view view1//排续ID
as
select ID
from MyTable
group by ID
order by asc
go
create procedure MyProcedure//开始生成了
as
declare @count int
select @count=count(ID)
from MyTable
group by ID
declare @i int
set @i = 1
while @i <= @count
begin
declare @ch_ID varchar(4)
select top 1 @ch_ID = ID
from execute('select top '+convert(varchar(4),@i)+' ID from view1')
order by ID desc

declare @Nums varchar(256)
set @Nums = ''
select @Nums=@Nums + Num
from MyTable
where ID = @ch_ID

select @ch_ID,@Nums into #TempTable
set @i = @i + 1
end

select * from #TempTable
go

基本思路就应该这样,不过偶没调试,不知道编译能否通过

不好意思,符号打错了
改过来了

[此贴子已经被作者于2006-12-7 17:21:43编辑过]


呵呵,不愧是BC论坛
2006-12-07 17:06
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
补充Table View Procedure创建完后就运行存储过程就行了

呵呵,不愧是BC论坛
2006-12-07 17:07
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
才发现,这个应当转到SQL Server版块

呵呵,不愧是BC论坛
2006-12-07 17:16
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
得分:0 
恩,SQL那好象已经有了。。。

老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-07 17:31
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
以下是引用angeloc在2006-12-7 17:31:45的发言:
恩,SQL那好象已经有了。。。

SQL都有了,偶还写啥呀
日了


呵呵,不愧是BC论坛
2006-12-07 17:37
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
得分:0 

呵呵,我不知道这问题有什么价值!


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-07 17:40
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
2楼用函数,偶用其他方法,虽然麻烦一点,也算是一题多解
就是纯锻炼编程能力

呵呵,不愧是BC论坛
2006-12-07 17:47
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
得分:0 
以下是引用舞雪在2006-12-7 17:47:57的发言:
2楼用函数,偶用其他方法,虽然麻烦一点,也算是一题多解
就是纯锻炼编程能力


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-07 17:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-107909-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.418712 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved