私は、次のMySQLステートメントを持っている:続編はJOINとWHERE
SELECT
a.id,
b.category,
b.message,
b.is_valid
FROM
"NODE" a,
"SYSTEM_STATUS" b
WHERE
("LAST_HEARTBEAT" > TIMESTAMP '2017-09-18 15:10:04.471826') AND
a.id = b.node_id
私は私は、MySQL上の文の短縮版であるこのメソッドを持って
を続編上記を変換したい:
0> self.class.live_nodes
SELECT "ID" FROM "NODE" WHERE ("LAST_HEARTBEAT" > TIMESTAMP '2017-09-18 15:11:12.906017')
=> [#<MyApp::Model::Node @values={:id=>348}>]
は今、このメソッドの結果を使用して、私はsystem_status
と呼ばれるテーブル、node.id = system_status.node_id
の結果とjoin
をしたいです。
次に、live_nodes
の結果を受け取り、system_status
に参加します。結果はsystem_status.node_id
に等しく、私はそれを行う方法がわかりません。
私は次のことを試してみました:..私はまた私が正しく
を生成する必要がありますあなたのMySQLが正しいですか?生のSQLから、私はSQLの結合部分を見逃しています。 (しかし、私はMySQLを知らないので、MySQLの特別な構文があります)。結合は 'DB [:a] .inner_join(:b、:node_id =>:id)'で続けることができます。 – knut