您可以使用Pivot进行此操作。
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 SourceTablePIVOT ( AVG(Amount) FOR Food IN ( [Butter],[Milk],[Chicken] ) ) AS PivotTable结果:
Person Butter Milk ChickenJohn NULL NULL 2Mike 3 4 2Tim NULL 4 NULL



