投稿日 | : 2006/10/31(Tue) 14:31 |
投稿者 | : 琴 |
Eメール | : |
URL | : |
タイトル | : Re^3: 結果を並べて表示させたい |
Accessで適当かつ強引に作ってみましたがこんな感じでしょうか?
SELECT T_00.名前,
IIf(IsNull(T_01.順位1), "0", T_01.順位1) As 1着,
IIf(IsNull(T_02.順位2), "0", T_02.順位2) As 2着,
IIf(IsNull(T_03.順位3), "0", T_03.順位3) As 3着
FROM (([SELECT テーブル.名前
FROM テーブル
GROUP BY テーブル.名前]. AS T_00
LEFT JOIN [SELECT テーブル.名前, Count(テーブル.順位) AS 順位1
FROM テーブル
WHERE (((テーブル.順位) = "1着"))
GROUP BY テーブル.名前]. AS T_01 ON T_00.名前 = T_01.名前)
LEFT JOIN [SELECT テーブル.名前, Count(テーブル.順位) AS 順位2
FROM テーブル
WHERE (((テーブル.順位) = "2着"))
GROUP BY テーブル.名前]. AS T_02 ON T_00.名前 = T_02.名前)
LEFT JOIN [SELECT テーブル.名前, Count(テーブル.順位) AS 順位3
FROM テーブル
WHERE (((テーブル.順位) = "3着"))
GROUP BY テーブル.名前]. AS T_03 ON T_00.名前 = T_03.名前
ORDER BY T_01.順位1 DESC , T_02.順位2 DESC , T_03.順位3 DESC;
Accessのクエリ作成で作ったものなので、プログラムから利用する際は
若干の修正が必要になるかもしれません。
結果は以下の様になります。
名前 1着 2着 3着
はる 1 2 0
なつ 0 1 1
ふゆ 0 1 0
あき 0 0 1