只有单个结果允许SELECT作为表达式的一部分

时间:2014-09-26 09:23:08

标签: sqlite

我正在尝试执行以下Sqlite查询:

SELECT * FROM monsters WHERE ( uid IN added_monsters )

使用此表:

create table if not exists added_monsters(STRING name, INTEGER uid)

但我得到一个错误"只有一个结果允许SELECT作为表达式的一部分"。

2 个答案:

答案 0 :(得分:12)

added_monsters有两列,因此数据库不知道要用IN检查哪一列。

您必须提取一列:

SELECT * FROM monsters WHERE uid IN (SELECT uid FROM added_monsters)

答案 1 :(得分:4)

我只需要执行INNER JOIN来获取我需要的信息: “SELECT * FROM monsters INNER JOIN added_monsters ON monsters.uid = added_monsters.uid;”