来自另一个 table 的 WHERE 子句使用 NOT IN
WHERE clause from another table using NOT IN
我无法在 sqlite android 中 运行 查询,它抛出以下错误:
android.database.sqlite.SQLiteException: no such table: table1.item1 (code 1): ,while compiling: SELECT * from table1, table2 where table1.item1 not in table2.item1
我的原始查询是:
Database.rawQuery("SELECT * from "+ TABLE1 +", "
+TABLE2+" where "+ TABLE1 +"" + "."+ ITEM1 +" not in "
+ TABLE2 +"."+ ITEM1, null);
字符串常量:
TABLE1= "table1", TABLE2="table2", ITEM1= "item1"
我想要 table1 中的所有行,其 item1 不在 table2 的 item1 值列表中。
我需要添加一些 GROUP BY 语句吗?
如果这是您要查找的内容,这将是您的查询:
SELECT * FROM table1 WHERE item1 NOT IN (SELECT item1 FROM table2)
您的 "SELECT * FROM table1, table2" 会为您提供表 1 和表 2 的每条返回记录的组合。这通常不是预期的。
我无法在 sqlite android 中 运行 查询,它抛出以下错误:
android.database.sqlite.SQLiteException: no such table: table1.item1 (code 1): ,while compiling: SELECT * from table1, table2 where table1.item1 not in table2.item1
我的原始查询是:
Database.rawQuery("SELECT * from "+ TABLE1 +", "
+TABLE2+" where "+ TABLE1 +"" + "."+ ITEM1 +" not in "
+ TABLE2 +"."+ ITEM1, null);
字符串常量:
TABLE1= "table1", TABLE2="table2", ITEM1= "item1"
我想要 table1 中的所有行,其 item1 不在 table2 的 item1 值列表中。
我需要添加一些 GROUP BY 语句吗?
如果这是您要查找的内容,这将是您的查询:
SELECT * FROM table1 WHERE item1 NOT IN (SELECT item1 FROM table2)
您的 "SELECT * FROM table1, table2" 会为您提供表 1 和表 2 的每条返回记录的组合。这通常不是预期的。