我创建了一个查询,以提取他们在一个多月的时间内获取的学生证和饭菜。我想计算一下学生在一个月中服用的每种物品(早餐,午餐,小吃)的数量。数据透视表报表中似乎有太多数据无法访问,因此我希望可以代替它运行一个SQL查询。这是我创建的当前查询:SELECT April2013.SID, MenuItems.MealType AS Apr2013Meal FROM April2013 LEFT JOIN MenuItems ON MenuItems.Item=April2013.Item; 电流输出:+-----+-----------+ | SID | Meal | +-----+-----------+ | 001 | Lunch | | 002 | Lunch | | 003 | Breakfast | | 004 | Snack | | 005 | Lunch || 006 | Lunch | | 001 | Breakfast | | 003 | Snack | | 004 | Breakfast | +-----+-----------+这是我想要的样子:+-----+-----------+-------+---------+ | SID | Breakfast | Lunch | Snack | +-----+-----------+-------+---------+ | 001 | 3 | 10 | 1 | | 002 | 4 | 8 | 10 | | 003 | 18 | 2 | 7 | | 004 | 6 | 7 | 2 | +-----+-----------+-------+---------+
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
您可以使用TRANSFORM旋转数据:
TRANSFORM COUNT(MenuItems.MealType)
SELECT April2013.SID, MenuItems.MealType
FROM April2013
LEFT JOIN MenuItems
ON MenuItems.Item=April2013.Item
GROUP BY April2013.SID
PIVOT MenuItems.MealType;
添加回答
举报
0/150
提交
取消