にリンクされているいくつかの派生テーブルに基づいていくつかの計算を行うこのクエリがありますINNER JOIN
。
現時点では、WHERE
一度に 1 つの ID を引き出す句があります。しかし、どうすればすべてのIDをリストすることができますか?
GROUP BY
いろいろなところを調べてみましたがわかりません。
これまでの私のクエリは次のとおりです。
SELECT
equipment_id,
service_duration,
available_duration,
(available_duration / service_duration)*100 AS availability
FROM (
SELECT
SUM(service_end_time - service_start_time) AS service_duration
FROM(
SELECT equipment_id,
(CASE
END) AS service_start_time,
(CASE
END) AS service_end_time
FROM t1
WHERE equipment_id = 'EX123'
)AS A
) AS B
JOIN(
SELECT equipment_id,
SUM(available_end_time - available_start_time) AS available_duration
FROM (
SELECT equipment_id,
(CASE
END) AS available_start_time,
(CASE
END) AS available_end_time
FROM t2
WHERE equipment_id = 'EX123'
) AS C
) AS D
ON equipment_id=D.equipment_id
私がやりたいのは、WHERE
句をGROUP BY
すべてのIDをリストするなどに置き換えることですが、それを機能させることは私のスキルレベルを超えています...どんな助けも大歓迎です:)