1
次のSQLをEcto Query DSLに変換する必要があります。 WHERE
句の第三AND
声明の中でEctoのすべてのクエリ
SELECT otc.*
FROM users u
INNER JOIN one_time_codes otc ON u.id = otc.user_id
LEFT OUTER JOIN one_time_code_invalidations otci ON otci.one_time_code_id = otc.id
WHERE u.id = 3 AND
otc.code = 482693 AND
otci.inserted_at IS NULL AND
otc.inserted_at > all(SELECT otc.inserted_at
FROM one_time_codes otc2
WHERE otc2.user_id = 3) AND
otc.inserted_at > (now() - '180 seconds'::interval);
、ALL
クエリがあります注意してください。エクトはEcto.Query.API
に対応する機能を持たないようです。
このような集計を適用するにはどうすればよいですか?これを実装する正しい方法は何ですか?Ectoのデバッグログを参照することで実装できますが、別のアイデア(または提案)がありますか?
ありがとうございます。
おかげで再び:)。スーパークエリのパラメータをフラグメントに渡すにはどうすればいいですか?たとえば、スーパークエリで見つかった結合クエリから 'User in u 'を参照する必要がありますか? – Leviathlon
このようなことができますか? 'join:u in User、...、where:fragment("?=? "、u.id、10)'? – Dogbert
うわー、きちんとした。ありがとうございました。 – Leviathlon