更新时间:2022-11-25 10:29:57
您可以使用Pivot进行此操作.
You can use Pivot for make this.
DECLARE @PersonStuff TABLE (Person varchar(10), Food varchar(10), Amount INT)
INSERT INTO @PersonStuff VALUES
('Mike','Butter', 3),
('Mike','Milk', 4),
('Mike','Chicken', 2),
('Tim','Milk', 4),
('John','Chicken', 2)
SELECT
*
FROM (
SELECT
*
FROM @PersonStuff ) AS SourceTable
PIVOT (
AVG(Amount)
FOR Food IN ( [Butter],[Milk],[Chicken] )
) AS PivotTable
结果:
Person Butter Milk Chicken
John NULL NULL 2
Mike 3 4 2
Tim NULL 4 NULL