- ベストアンサー
ACCESS-SQLを教えてください。(2回目です)
以前質問797726で質問し、その内容は解決しました。(以下がその内容です)テーブル名等質問時とは変えてます。 ******************* 「3台の車輌があり、それぞれに仕事をし量を記録、車輌部品交換についても記録。前回の特定の交換内容「AAA交換」の交換日から現在までいくら仕事をしたか、その量の累計を、車輌ごとに知りたい。(量によってAAAを交換するか決める(オイル交換みたいに)」 *T02実績明細* 仕事の記録テーブル 実績コード(主キー) 作業日 開始時間 車輌コード(外部キー) 打設数量 *T_交換記録* メンテ記録テーブル 交換コード(主キー) 交換日 時間 整備交換内容 車輌コード(外部キー) 社員コード(外部キー) 作業日と、交換日は同じ日付になることはほとんどありません。 ********************* 出来たSQL↓ SELECT T.車輌コード, S.整備交換項目, Sum(T.打設数量) AS 累計 FROM T02実績明細 AS T, S WHERE (((T.車輌コード)=[S].[車輌コード]) AND ((T.作業日)>[S].[最新交換日])) GROUP BY T.車輌コード, S.整備交換項目; ※(),[]等はデザインビューから開くと自動でついた。 ※S:SELECT 車輌コード,整備交換項目, Max(交換日) AS 最新交換日 FROM T_交換記録GROUP BY 車輌コード, 整備交換項目; 今日の質問は、以前は問題ではなかった、作業の「開始時間」と、交換の「時間」の関係です。前回の質問の後、「同じ日にメンテをする日もあるからそれも追加して」と言われ困っています。今回追加でやりたいことは、 「同日に同車輌について、作業と交換を行った場合、(1/1 8:30~作業、12:00に交換、13:00~2回目の作業)翌日からの打設数量の累計ではなく、同日交換時間以降の打設数量も含め(2回目の作業の分も)求めたい」です。同じ日も含めるということが思いつきません。VBAも使うのでしょうか?よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
- yomo3
- ベストアンサー率32% (88/269)
お礼
早速足してやってみましたところ、バッチリ出ました。なんだか、知らなかっただけでとってもあっけなくできてしまったので、自分の知識の少なさにあきれています。 でも少しずつおもしろくなってきました。いつもどうもありがとうございます。またぶち当たりましたらぜひ教えていただきたいです。ありがとうございました。