主题:大虾
10307229
[专家分:0] 发布于 2007-09-04 17:23:00
A.ID A.MS
6955 基金配售
6957 NULL
6959 上网定价
2752 法人配售
2752 上网定价
2752 基金配售
2754 法人配售
2754 上网定价
2756 法人配售
把A表变成B表
B.ID B.MS
6955 基金配售
6957 NULL
6959 上网定价
2752 法人配售,上网定价,基金配售
2754 法人配售,上网定价
2756 法人配售
数据还有很多这只是部分
那位大虾 晓得 如何做?
回复列表 (共4个回复)
沙发
kkzjk [专家分:440] 发布于 2007-09-04 23:06:00
select distinct MS, ID into B from A
板凳
10307229 [专家分:0] 发布于 2007-09-05 09:39:00
看清楚在说
3 楼
kkzjk [专家分:440] 发布于 2007-09-05 14:17:00
SELECT * INTO A1 FROM A
CREATE TABLE AD
(
ID INT NULL,
MS VARCHAR(30) NULL
)
INSERT INTO AD
SELECT DISTINCT ID,'' AS MS FROM A1
GROUP BY ID
----
DECLARE @AA1 INT
DECLARE @AA2 INT
DECLARE @AA3 INT
DECLARE @AA4 VARCHAR(30)
SET @AA1 = 1
SET @AA2 = (SELECT COUNT(ID) FROM A1)
WHILE @AA1 <= @AA2
BEGIN
SET @AA3 = (SELECT TOP 1 ID FROM A1)
SET @AA4 = (SELECT TOP 1 MS FROM A1)
UPDATE AD
SET MS = MS + @AA4 + ','
WHERE AD.ID = @AA3
DELETE A1
WHERE ID = @AA3 AND MS = @AA4
SET @AA1 = @AA1 + 1
END
----
4 楼
lgt9732 [专家分:170] 发布于 2007-09-05 16:10:00
楼上的应该是可以!
我来回复