以下のテーブルを確認してください... 1) class_id 1 (feature_id に関係なく) を持つすべての車両の total_time の SUM を計算する(結果は 6:35 になります) 2) SUMを計算できる単一のクエリを作成することは可能ですか? class_id 1 と feature_id 2 を持つすべての車両の total_time の合計(結果は vehicle_id 22 と 24 に基づいて 5:35 になります)
2 つの別々のクエリで結果を取得できますが、1 つのクエリで結果を取得することを望んでいました....次のようなものです。
SELECT
SUM((CASE WHEN (VEHICLE_TABLE.class_id = 1) then LOG_TABLE.total_time else 0 end)) **AS TOTAL_ALL**,
...here goes statement for 2)... AS TOTAL_DIESEL...
FROM LOG_TABLE, VEHICLE_TABLE .....
WHERE VEHICLE_TABLE.vehicle_id = LOG_TABLE.vehicle_id ......
表 1: LOG_TABLE
( vehicle_id は一意ではありません) total_time
--------------|--------------
22 2:00
22 0:30
23 1:00
24 2:20
24 0:45
表 2: VEHICLE_TABLE
(
vehicle_idは一意) class_id
--------------|--------------
22 1
23 3
24 1
表 3: VEHICLE_FEATURES_TABLE (vehicle_id は一意ではありませんが、feature_id は一意です。 vehicle_id)
vehicle_id | feature_id
--------------|--------------
22 1
22 2
23 1
23 2
23 6
24 2
24 6