请求援助 sql
id 编号 姓名 性别 班级 项目
27 4101 张帅 男 9-1 跳高
28 4101 张帅 男 9-1 跳远
29 4102 刘轩 男 9-1 100米
31 4102 刘轩 男 9-1 200米
32 4103 李永恒 男 9-1 400米
34 4103 李永恒 男 9-1 跳远
有这样一个表,要求得到下面的结果该怎样做?
班级 姓名 编号 项目1 项目2
也就是把两行合成一行。
------解决方案--------------------假設表名為TEST
先創建一個Query,名為QueryOrderID
語句為
SELECT A.*, (Select Count(*) From TEST Where 编号 = A.编号 And id <= A.id) AS OrderID
FROM TEST AS A;
然後再創建一個Query,名為QueryResult
語句為
SELECT
班级, 姓名,编号,Max(IIF(OrderID = 1 , 项目 , ' ' )) As 项目1, Max(IIF(OrderID = 2 , 项目 , ' ' )) As 项目2
FROM QueryOrderID
Group By 班级, 姓名,编号
就可以得到你的結果