投稿時間: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
|