01.
SET
NOCOUNT
OFF
;
02.
03.
DECLARE
@tmp_TableA
TABLE
(grpName
varchar
(10),
04.
grpValue
varchar
(10),
05.
grpID
int
,
06.
rowID
int
)
07.
08.
INSERT
INTO
@tmp_TableA
09.
SELECT
'หอย'
,
'value1'
, 1, 1
UNION
10.
SELECT
'หอย'
,
'value2'
, 1, 2
UNION
11.
SELECT
'งาม'
,
'value3'
, 2, 3
UNION
12.
SELECT
'งาม'
,
'value4'
, 2, 4
UNION
13.
SELECT
'เพราะ'
,
'value5'
, 3, 5
UNION
14.
SELECT
'เพราะ'
,
'value6'
, 3, 6
UNION
15.
SELECT
'ขน'
,
'value7'
, 4, 7
UNION
16.
SELECT
'ขน'
,
'value8'
, 4, 8
UNION
17.
SELECT
'คน'
,
'value9'
, 5, 9
UNION
18.
SELECT
'งาม'
,
'value10'
, 6, 10
UNION
19.
SELECT
'เพราะ'
,
'value11'
, 7, 11
20.
21.
DECLARE
@cnt
int
= 1;
22.
DECLARE
@
max
int
= (
SELECT
MAX
(rowID)
FROM
@tmp_TableA);
23.
DECLARE
@grpIDOld
int
= 0
24.
DECLARE
@grpIDNew
int
= 0
25.
DECLARE
@grpName
varchar
(10) =
''
26.
27.
WHILE (@cnt <= @
max
)
BEGIN
28.
SELECT
@grpName = GrpName, @grpIDNew = GrpID
FROM
@tmp_TABLEA
WHERE
rowID = @cnt
29.
30.
IF @@ROWCOUNT > 0
BEGIN
31.
32.
IF @grpIDOld <> @grpIDNew
BEGIN
33.
SET
@grpIDOld = @grpIDNew
34.
PRINT
CAST
(@cnt
AS
VARCHAR
) + N
' เปลียนกลุ่ม'
35.
END
36.
ELSE
BEGIN
37.
UPDATE
@tmp_TABLEA
SET
GrpName =
''
WHERE
rowID = @cnt
38.
END
39.
40.
END
41.
ELSE
BEGIN
42.
PRINT
CAST
(@cnt
AS
VARCHAR
) + N
' หาไม่เจอ'
43.
END
44.
SET
@cnt = @cnt + 1
45.
END
46.
47.
SELECT
*
FROM
@tmp_TAbleA
ORDER
BY
grpID
48.
GO