CREATE TABLE 表1
(工程名 VARCHAR(10),工作类别 VARCHAR(12),工作人员 VARCHAR(10), id INT)
INSERT INTO 表1 VALUES
(
'项目1' , 'A' , '牛1' , 1
),('项目1' , 'A ' , '牛2' , 2),
('项目1' , 'B' , '牛3' , 3),
('项目1' , 'B' , '牛4' , 4),
(
'项目1' , 'C' , '牛5' , 5
)
SELECT CASE
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) > 1
) THEN 工程名
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) = 1
) THEN 工程名
ELSE ''
END AS '工程名' ,
CASE WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
AND b.工作类别 = a.工作类别
GROUP BY 工程名
HAVING COUNT(工程名) >= 1
) THEN 工作类别
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) = 1
) THEN 工作类别
ELSE ''
END AS '工作类别',
工作人员,ID
FROM 表1 b
(工程名 VARCHAR(10),工作类别 VARCHAR(12),工作人员 VARCHAR(10), id INT)
INSERT INTO 表1 VALUES
(
'项目1' , 'A' , '牛1' , 1
),('项目1' , 'A ' , '牛2' , 2),
('项目1' , 'B' , '牛3' , 3),
('项目1' , 'B' , '牛4' , 4),
(
'项目1' , 'C' , '牛5' , 5
)
SELECT CASE
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) > 1
) THEN 工程名
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) = 1
) THEN 工程名
ELSE ''
END AS '工程名' ,
CASE WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
AND b.工作类别 = a.工作类别
GROUP BY 工程名
HAVING COUNT(工程名) >= 1
) THEN 工作类别
WHEN id = ( SELECT MIN(id)
FROM 表1 a
WHERE b.工程名 = a.工程名
GROUP BY 工程名
HAVING COUNT(工程名) = 1
) THEN 工作类别
ELSE ''
END AS '工作类别',
工作人员,ID
FROM 表1 b