2016-09-01 7 views
0

Я использовал этот запрос для извлечения данных из SQLite данных таблицы:Как получить данные из таблицы SQLite с помощью IN

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

Можете ли вы опубликовать минимальный полный пример? То есть последовательность команд, которые создают связанные таблицы и вставляют в них несколько строк, так что, когда выполняемый выше запрос выполняется, он не выводит результат. – redneb

ответ

0

Используя пример вы предоставили в комментариях, если я запускал запрос select category_id from kirtan_list я получаю следующий результат:

1,2 
3 

Так что, когда я побежал ваш исходный запрос выберите cat_eng_name из category_list, где идентификатор в (выберите CATEGORY_ID от kirtan_list)

SQLite попытается найти все строки из category_list которых id столбец содержит значение 3 или 1,2 (в виде одной строки). Ясно, что такой строки нет. Есть строки с идентификатором 1 или 2, но это не так, как 1,2.

+0

выберите cat_eng_name из категории_list, где id в (выберите group_concat (category_id) из kirtan_list) по этому запросу возможно? – blkerai

+0

'select group_concat (category_id) из kirtan_list' возвращает одну строку, содержащую один столбец, строку' 1,2,3'. Вы хотите вернуть несколько строк; в частности, в этом случае вам нужно вернуть 3 строки, содержащие значения '1',' 2' и '3'. – redneb

 Смежные вопросы

  • Нет связанных вопросов^_^