22,207
社区成员
发帖
与我相关
我的任务
分享
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(
ID VARCHAR(10)
,VAL1 VARCHAR(10)
,VAL2 VARCHAR(10)
,VAL3 VARCHAR(10)
)
INSERT INTO TB
SELECT 'xxx_1','a',' ',' ' UNION ALL
SELECT 'xxx_2',' ','b',' ' UNION ALL
SELECT 'xxx_3',' ',' ','c' UNION ALL
SELECT 'yyy_1','e',' ',' ' UNION ALL
SELECT 'yyy_2',' ','f',' ' UNION ALL
SELECT 'yyy_3',' ',' ','d'
SELECT LEFT(ID,CHARINDEX('_',ID)-1),MAX(VAL1),MAX(VAL2),MAX(VAL3)
FROM TB
GROUP BY LEFT(ID,CHARINDEX('_',ID)-1)
/*
xxx a b c
yyy e f d
*/