0
我正在嘗試組合來自3個模型的數據的ActiveRecord查詢。有MachineGroups
有很多Machines
,而這又可以有許多Outputs
。我希望有一個查詢選擇全部來自給定機器組的機器的輸出來自給定時間範圍內的輸出,這意味着如果機器在給定時間範圍內具有零輸出 - 應包含在列表中,但不包含輸出數據。在AR查詢中嵌套的SQL SELECT
SQL代碼:
SELECT * FROM machines LEFT OUTER JOIN
(SELECT * FROM outputs
WHERE outputs.created_at >= "2017-07-25 05:00:00"
AND outputs.created_at < "2017-07-26 17:00:00") AS o
ON machines.id = o.machine_id
WHERE machines.machine_group_id = 1;
謝謝,這個重構的作品,並消除子查詢的SELECT語句。 – adass