私はコアデータエンティティ、他のエンティティとの多対多の関係を持つOrderItem、OrderItemOptionを持っています。私は2つの特定のOrderItemOptionsとの関係を持つ特定のOrderItemを探したい。コアデータでどのようにすればいいですか?2つの子オブジェクトとの特定の関係を持つコアデータオブジェクトを取得します。
OrderItemOptionsには、タイプコードとオプションコード(基本的にキー/値)があります。私はオプション(typecode = OptionSet1、optionCode = BT)と別のオプション(typecode = OptionSet2、optionCode = CT)を持つorderItemを探しています。
問題は、最初のOrderItemOptionオブジェクトとクエリの2番目のオブジェクトを区別する方法です。
私は、私が欲しいものを正確に行うためのSQLクエリを思いつくことができました。エイリアスを使用して、テーブルとの結合を実行します。コアデータで同等の処理を行うにはどうすればよいですか?
SQL文は次のとおりです。
select * from zorderItem, zorderItemOption one, zorderItemOption two where
one.zorderitem = zorderItem.z_pk and
one.zoptiontypecode='OptionSet1' and one.zoptioncode='BT' and
two.zorderitem =zorderitem.z_pk and
two.zoptiontypecode='OptionSet2' and two.zoptioncode='CT';
私は、私はかなりの述語の「ANY」キーワードの後ろの意味論に従わないと思います。私は近くに近づくことができました
しかし、オプションコードが反転したときにも一致しました。
各括弧式の外側で 'ANY'を因数分解しようとしましたが、解析例外が発生しました。
おそらくもっと簡単な例も興味深いでしょう。 Booksと多対多の関係を持つ著者エンティティがある場合はどうなりますか。 「Book1」というタイトルの本と「Book2」というタイトルの本の両方を書いた作者を見つけるにはどうすればよいでしょうか?