2015-07-24 3 views
1

Прошу прощения, если этот вопрос непонятен, но я сделал все возможное, чтобы вы поняли эту ситуацию. Я использую CodeIgniter в этом случаеCodeigniter Multilevel MySql Query

У меня есть таблица с именем уровни, такие как

ИмяТаблицы УРОВЕНЬ

id name 
1 abc 
2 xyz 

и другую таблицу с именем курсы

id level name 
1 1,2  apple 
2 2,3  android 

Что Я хочу сгенерировать в запросе: 1. Я хочу выполнить запрос таким образом, что это дает мне соответствующие названия уровня с деталями курсов

т.е.
{['name' : 'apple', 
    'level' : 
     {'name': 'abc', 'name': 'xyz'} 
]} 

Я попытался много с помощью объединений, но didnot работает для меня. Кто-нибудь, пожалуйста, предложите мне правильные варианты для этого, что я должен сделать, чтобы разделить идентификаторы уровней и получить соответствующее имя из таблицы уровней.

+0

Первым шагом, предполагая, что я читаю это правильно, было бы обновление схемы базы данных таким образом, чтобы вы не сохраняли уровень как список, разделенный запятыми. Тем не менее, вам придется сделать какую-то работу, чтобы отформатировать это, как вы хотите, вне SQL. – Chords

ответ

0

Я думаю, что вы можете использовать FIND_IN_SET:

SELECT * FROM courses c JOIN 
levels l ON FIND_IN_SET(c.level, l.id) 

Я не проверял этот запрос, так что может понадобиться крепление.