4

mysql クエリの例:

SELECT
a1.*
FROM
agreement a1
LEFT JOIN agreement a2 on a1.agreementType = a2.agreementType and a2.id > a1.id
WHERE
a2.id is null

クエリの目的は、返された型の最後の一致を取得することです。たくさんの種類があり、種類ごとに最新の契約のみを一覧表示したい。上記の例のクエリは期待どおりに機能しますが、DQL では機能しません。

それ自体を参照する列がない場合、DQL でこれを行うにはどうすればよいですか? 「agreementType」も別のテーブルへの外部キーであることに注意してください。

4

1 に答える 1

13

理解した。私が共有すると思った。

        SELECT
            a1
        FROM
            My\Model\Agreement a1
            LEFT JOIN My\Model\Agreement a2
                WITH a1.agreementType = a2.agreementType AND a2.id > a1.id
        WHERE
            a2.id IS NULL
于 2013-09-04T23:25:08.020 に答える