私は現在、サブクエリ内にあるIDに基づいて結果をフィルタリングするMultiCriteriaクエリを持っています
Subqueries.PropertyIn("Id", detachedCriteria)
サブクエリは、多基準クエリで使用されるすべてのクエリで同じです。
私の現在のケースでは15回、サブクエリが繰り返されているSQLを見ると少し醜いようです。
個別のクエリの理由は、それぞれが異なる結合を持ち、1つの大規模なデカルト結合を望まないためです。
手作業でSQLを記述している場合は、繰り返されるサブクエリを共通のテーブル式に引き出します。
WITH XYZ AS
{
....
}
次に、サブクエリは15個のクエリのXYZのwhereidになります。
これは少しSQLサーバー固有であり、代替は一時テーブルまたは他のデータベース固有の機能です。
クエリを改善する方法についてのアイデアはありますか、それともサブクエリが複製されたままになっていますか?