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 查询的主要内容,如果未能解决你的问题,请参考以下文章

NSPredicate Core Data iOS 中的子查询

MongoDB 等价于 SQL“NOT LIKE”查询

PySpark AND EXISTS 等价于 sql 查询

NSPredicate 查询/搜索

ios 学习之 NSPredicate 模糊精确查询

核心数据 - 为啥我的 NSPredicate 没有产生正确的 SQL 查询?