次のドメイン マッピングがあります。
Person
------
int PersonId
IList<PersonDetails> Details;
PersonDetails
-------------
Person Owner (mapped by using the FK field, PersonId)
string Name
string Address
DateTime UpdateDate
同様のテーブル構造に変換されます。
Person
------
PersonId (int)
Birthday (date)
PersonDetails
-------------
PersonId (FK, integer)
Name (string)
Address (string)
UpdateDate (date)
QueryOver を使用して次の SQL クエリを再作成するにはどうすればよいですか?
SELECT *
FROM Person p INNER JOIN Details d ON p.PersonId = d.PersonId
WHERE d.UpdateDate = (SELECT MAX(UpdateDate)
FROM PersonDetails
WHERE PersonId = p.PersonId);
つまり、各 Person の最新の PersonDetails を選択します。例を見てきましたが、どちらも集計値を使用した相関サブクエリに関連していません...
ありがとう、ハレル