|
分類:[データベース全般]
いつもお世話になっております。 SQL文で他のやり方があるかご存知の方が降りましたらご教授お願い致します。
下記TBL情報のデータを社員コード毎に各作業時間が横に表示されるように出力したいと考えております。 社員ID 種別 作業時間 0001 事務 1 0001 製造 2 0001 会議 3 0002 事務 2 0002 製造 3 0002 会議 4 0003 製造 2 0003 会議 3
社員ID 事務作業時間 製造作業時間 会議作業時間 0001 1 2 3 0002 2 3 4 0003 NULL 2 3
下記SQLとは別の方法で出力するやり方はあるのでしょうか。 SELECT TBL.社員CD,事務.事務作業時間,製造.製造作業時間,会議.会議作業時間 FROM TBL LEFT JOIN(SELECT 社員ID SUM(作業時間) AS 事務作業時間 FROM TBL WHERE 種別='事務' GROUP BY 社員ID) AS 事務 ON TBL.社員CD = 事務.社員CD LEFT JOIN(SELECT 社員ID SUM(作業時間) AS 製造作業時間 FROM TBL WHERE 種別='製造' GROUP BY 社員ID) AS 製造 ON TBL.社員CD = 製造.社員CD LEFT JOIN(SELECT 社員ID SUM(作業時間) AS 会議作業時間 FROM TBL WHERE 種別='会議' GROUP BY 社員ID) AS 会議 ON TBL.社員CD = 会議.社員CD
|