| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:如何写这个视图
只看楼主 加入收藏
xianxianjun
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-29
收藏
 问题点数:0 回复次数:5 
如何写这个视图

这是表的数据
ph name

1 xxj
2 zdx
3 hao
1 tang
3 xin
4 wan
1 fore
通过一句语句咨询后变成一个视图如下表
ph name

1 xxj,tang,fore
2 zdx
3 hao,xin
4 wan
相同的用逗号阁开

搜索更多相关主题的帖子: 视图 
2006-02-17 15:17
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
这个可能直接不行哦,还要有个FUNCTION才行

已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-02-17 20:20
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 
用游标可以做,麻烦了点,我试试回头贴出来

2006-02-18 12:02
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 

create procedure list
as
DECLARE @count INT
DECLARE @ph INT
DECLARE @name VARCHAR(255)

CREATE TABLE #temp
(
ph int primary key,
names varchar(255)
)

SET @count=1
WHILE @count<=(Select Max(ph) from test1)
BEGIN
INSERT INTO #temp
VALUES (@count,'')
SET @count=@count+1
END

DECLARE CursorTest Cursor For
SELECT ph,name
FROM test1

OPEN CursorTest
Fetch Next From CursorTest
Into @ph,@name

WHILE @@FETCH_STATUS=0

BEGIN
UPDATE #temp
set
names=names+ ','+ @name
WHERE
ph = @ph
Fetch Next From CursorTest
Into @ph,@name


END

CLOSE CursorTest
DEALLOCATE CursorTest


SELECT ph,(select right(names,len(names)-1))
FROM #temp


先运行一下,然后执行exec list就可以了,原有数据表名我随便设成了test1,你自己看着改吧

[此贴子已经被作者于2006-2-18 13:11:34编辑过]


2006-02-18 13:09
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=24&ID=15174&replyID=&skin=1
以前版主发了的一篇文章与此类似..你参照一下吧..
2006-02-21 16:59
卜酷塔
Rank: 7Rank: 7Rank: 7
来 自:魅力青岛
等 级:禁止访问
威 望:39
帖 子:2569
专家分:0
注 册:2004-6-12
收藏
得分:0 
不错!

觉得为时已晚的时候,恰恰是最早的时候。

2006-02-22 09:25
快速回复:如何写这个视图
数据加载中...
 
   



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

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