• 締切済み

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行で表示させるにはどのような方法があるのでしょうか? ものずごく初歩的な質問で大変申し訳ありません。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

前にもレスしたんですが、Oracleで可変列はできないと思います。 方法としては以下の代替案があります。 (1)Accessにリンクし、Transfer(集計)クエリにする。 (2)Excelに抽出し、行列を入れ替えてコピペする。

neokicki
質問者

お礼

ありがとうございます。

関連するQ&A