- 締切済み
1行で表示させたいのです
初歩的な質問をさせていただきます。 表示させたいのは以下のような感じです。 Aコード A名前 A時間 Bコード B名前 B時間 … ------------------------------------------------ 100 A 90 200 B 100 … という感じですべて一行で表示させたいのです。 SELECT CODE 'Aコード' , NAME '名前' , TIME '時間' , CODE 'Bコード' , NAME '名前' , TIME '時間' , CODE 'Cコード' , NAME '名前' , TIME '時間' FROM (SELECT TAR CODE , MAX(NAME) NAME , SUM(WORK_TIME) TIME FROM NIP , TAR WHERE NIP.TAR = TAR.CODE AND DDATE BETWEEN '2008/04/21' AND '2008/05/20' GROUP BY TAR) WHERE CODE = 100 サブクエリでは、4/21から5/20までのすべての社員の労働時間を出しています。TARが社員コード、NAMEが社員名、WORK_TIMEが一日の労働時間です。 この中から指定した社員コードの人のデータを1行で表示させたいのです。 一人だけなら、外のWHERE句でコードを100に指定すれば済む話ですが、 3人となると表示項目名が9つになるのでこの方法ではうまくいきません。コードが200、300の人を1行で表示させるにはどのような方法があるのでしょうか? ものずごく初歩的な質問で大変申し訳ありません。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1415)
前にもレスしたんですが、Oracleで可変列はできないと思います。 方法としては以下の代替案があります。 (1)Accessにリンクし、Transfer(集計)クエリにする。 (2)Excelに抽出し、行列を入れ替えてコピペする。
お礼
ありがとうございます。