0

我已使用此查询从 sqlite 数据表中获取数据:

select cat_eng_name from category_list  where id in (select category_id from       kirtan_list)

但我无法得到任何结果或任何错误,根据上述条件,表格中提供了数据。

该表可以通过以下方式创建:

CREATE TABLE "kirtan_list" ( `id`   INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, `category_id` TEXT, `title_guj`   TEXT, `title_eng`   TEXT, `description_guj` TEXT, `description_eng` TEXT, `kirtan_group`    INTEGER, `pad_no`   INTEGER, `kirtan_audio` TEXT );
INSERT INTO `kirtan_list` VALUES (1,'1,2','kjdsfh','Test','kdsgf','Test',1,1,'1.mp3');
INSERT INTO `kirtan_list` VALUES (2,'3','skdjgf','askjdh','kasjdh','kasjdh',1,2,'2.mp3');
COMMIT; 


CREATE TABLE `category_list` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, `cat_guj_name`    TEXT, `cat_eng_name`    TEXT );
INSERT INTO `category_list` VALUES (1,'All Kirtan','All Kirtan');
INSERT INTO `category_list` VALUES (2,'stuti','Stuti'); 

重现问题。

4

1 回答 1

0

使用您在评论中提供的示例,如果我运行查询,select category_id from kirtan_list我会得到以下输出:

1,2
3

因此,当我运行您的原始查询时,从 category_list 中选择 cat_eng_name where id in (select category_id from kirtan_list)

sqlite 将尝试查找category_listid列中包含值31,2(作为单个字符串)的所有行。显然没有这样的行。有些行的 id 为1or 2,但与 不同1,2

于 2016-09-01T11:04:30.697 回答