我有一個實體包含兩個可選的多對多關係(childA < < - >父< - >> childB)。這兩個子實體中的每一個都包含一個我感興趣查詢的可選字符串。核心數據子查詢
使用相同的格式,我得到了我期望的結果,但不是其他結果。我明白這意味着我不瞭解我正在使用的工具;並希望得到一些見解。這兩個查詢是什麼樣子:
[email protected] != 0 AND (0 == SUBQUERY(childA, $a, $a.string != NIL)[email protected])
[email protected] != 0 AND (0 == SUBQUERY(childB, $a, $a.string != NIL)[email protected])
我希望找回來自childA和childB的非空實例結果只有每個實體實例字符串也是零。我的問題是,爲什麼會給出我期望的結果;而另一個不?
澄清: 我試圖解決一般問題,我正在尋找兩件事之一。我要麼搜索屬性中的默認值。當這個屬性是可選的時,我另外搜索一個零屬性。當可選關係只在填充時才被考慮,這個問題就更加複雜了。如果沒有關係數!= 0,我會找回所有沒有關係的父母。在一種情況下,這是所需的行爲。在另一種情況下,這似乎減少了返回的父計數(0結果)。
對於可選屬性的情況下,查詢可能是這樣的:
[email protected] != 0 AND (parent.gender == -1) OR (parent.gender == NIL)
哪裏有在關鍵路徑可選的關係,查詢需要在第一個例子列舉的形式。
再次,我已經得到了我所期望的結果,除了一個案例,其中似乎沒有任何關係或屬性特徵。或者我應該說,沒有什麼有關此異常的數據模型結構或查詢格式獨特...
要回答你的最後一個問題,而沒有任何額外的信息,你可以通過偶然的第一個查詢得到正確的結果。 – Mundi