表1
编号 名称
001 a
002 b
003 c
004 v
004 ad
005 v1
003 ad1
想查出的结果
编号 名称
001 a
002 b
003 c
004 v
005 v1
相同编号的记录只显示其中一条记录
请大家帮忙看看~~~~~~
编号 名称
001 a
002 b
003 c
004 v
004 ad
005 v1
003 ad1
想查出的结果
编号 名称
001 a
002 b
003 c
004 v
005 v1
相同编号的记录只显示其中一条记录
请大家帮忙看看~~~~~~
编号,
Min(名称) As 名称
From 表1
Group By 编号
编号,
Max(名称) As 名称
From 表1
Group By 编号
(
ID INT IDENTITY(1,1) PRIMARY KEY,
NAME VARCHAR(8) NULL,
TEL VARCHAR(8) NULL,
)
GO
INSERT INTO TEL
SELECT 'W','1' UNION
SELECT 'W','2'UNION
SELECT 'W','3'UNION
SELECT 'X','4'UNION
SELECT 'X','5'UNION
SELECT 'X','6'UNION
SELECT 'Y','7'UNION
SELECT 'Y','8'UNION
SELECT '衣服','春装'UNION
SELECT '衣服','冬装'UNION
SELECT 'COLOR','RED' UNION
SELECT 'COLOR','YELLOW' UNION
SELECT 'COLOR','BLACK' UNION
SELECT 'COLOR','GREEN' UNION
SELECT 'COLOR','BLACK' UNION
SELECT 'COLOR','CYAN'
GO
CREATE TABLE TELNAME
(
NAME VARCHAR(8) PRIMARY KEY,
TEL VARCHAR(8000) NULL,
)
GO
INSERT INTO TELNAME
(NAME)
SELECT NAME FROM TEL GROUP BY NAME
GO
CREATE FUNCTION V_TEL
(
@TNAME VARCHAR(8)
)
RETURNS VARCHAR(8000)
BEGIN
DECLARE @MESSAGE VARCHAR(8000)
DECLARE CURTEL CURSOR
READ_ONLY
FOR SELECT TEL FROM TEL WHERE [NAME]=@TNAME
SET @MESSAGE=''
DECLARE @NAME VARCHAR(40)
OPEN CURTEL
FETCH NEXT FROM CURTEL INTO @NAME
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
BEGIN
SET @MESSAGE=@MESSAGE + @NAME+','
END
FETCH NEXT FROM CURTEL INTO @NAME
END
CLOSE CURTEL
DEALLOCATE CURTEL
RETURN (LEFT(@MESSAGE,LEN(@MESSAGE)-1))
END
GOUPDATE TELNAME
SET TEL=(SELECT DBO.V_TEL([NAME]) )
GO
SELECT * FROM TEL
SELECT * FROM TELNAMEDROP TABLE TEL
DROP TABLE TELNAME
DROP FUNCTION V_TEL
编号,
Min(名称) As 名称
From 表1
Group By 编号Select
编号,
Max(名称) As 名称
From 表1
Group By 编号
楼主的要求好象是每个group中的头条记录啊?