我已将此查询用于从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');
重现问题。
答案 0 :(得分:0)
使用您在评论中提供的示例,如果我运行查询select category_id from kirtan_list
,我会得到以下输出:
1,2
3
所以当我运行你的原始查询时 从category_list中选择cat_eng_name,其中id为(从kirtan_list中选择category_id)
sqlite将尝试查找category_list
列id
列包含值3
或1,2
(作为单个字符串)的所有行。显然没有这样的排。有些行的ID为1
或2
,但与1,2
不同。