NSPredicate 格式等价于 SQL 查询

Posted

技术标签:

【中文标题】NSPredicate 格式等价于 SQL 查询【英文标题】:NSPredicate Format Equivalent to SQL query 【发布时间】:2011-06-30 05:26:29 【问题描述】:

我有两个表:table1 和 table2。与以下 SQL 查询等效的 NSPredicate 格式是什么?

SELECT * FROM table1 where table1.a NOT IN (SELECT table2.b from table2)

【问题讨论】:

Core Data 不是数据库。您不能将任意 SQL 转换为核心数据获取请求。去重新阅读文档几次。在那之前,你感到困惑。 【参考方案1】:

您可以从 table2 中获取 b 值的列表,然后执行以下操作...

[NSPredicate predicateWithFormat:@"NOT (a in %@)", listOfBValues];

【讨论】:

谢谢西蒙,但请查看我的查询,其中我需要 table1 中的值列表,其中属性“a”未出现在 table2 的值列表中......如何在 NSPredicate 中进行合作?????? @Rajesh Simon 解决了这个问题。您需要先获取所有 table.b 值,然后将它们替换为 NSPredicate

以上是关于NSPredicate 格式等价于 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章