Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Всем привет, я вот уже минут 30 думаю и ковыряю инет, но так ничего и не наковырял... Нужна помощь))
Начнем со структуры:
Имеется таблица с заведениями, каждое заведение относится к какойто группе
[CODE=js]
institutes {
id,
title,
group_id
...
...
}
[/CODE]
так же есть таблица избранного, в которой хранятся id потребителя и id заведений
[CODE=js]
consumer_favorite {
institute_id,
consumer_id
}
[/CODE]
так вот задача:
сначала я делаю вот так:
[CODE=mysql]
SELECT GROUP_CONCAT(DISTINCT `institute_id`) FROM `consumer_favorite` WHERE `consumer_id` = 1
[/CODE]
тоесть получаю весь список избранных заведений(id), одного потребителя через запятую. Вот например: 1,3,5,12,20
потом делаю вот так
[CODE=mysql]
SELECT * FROM `institute` WHERE `group_id` = 2 ORDER BY `title`
[/CODE]
тоесть получаю весь список заведений которые находятся в какойто группе и както отсортированны.
[table]
[tr]
[th]id[/th]
[th]title[/th]
[th]group_id[/th]
[/tr]
[tr]
[td]1[/td]
[td]Заведение 1[/td]
[th]2[/th]
[/tr]
[tr]
[td]2[/td]
[td]Заведение 2[/td]
[th]2[/th]
[/tr]
[tr]
[td]3[/td]
[td]Заведение 3[/td]
[th]2[/th]
[/tr]
[tr]
[td]4[/td]
[td]Заведение 4[/td]
[th]2[/th]
[/tr]
[/table]
а вот теперь проблема
мне нужно в полученный результат добавить поле, где будет указанно, заведение находится в избранных или нет.
[table]
[tr]
[th]id[/th]
[th]title[/th]
[th]group_id[/th]
[th]is_favorite[/th]
[/tr]
[tr]
[td]1[/td]
[td]Заведение 1[/td]
[th]2[/th]
[th]1[/th]
[/tr]
[tr]
[td]2[/td]
[td]Заведение 2[/td]
[th]2[/th]
[th]0[/th]
[/tr]
[tr]
[td]3[/td]
[td]Заведение 3[/td]
[th]2[/th]
[th]1[/th]
[/tr]
[tr]
[td]4[/td]
[td]Заведение 4[/td]
[th]2[/th]
[th]0[/th]
[/tr]
[/table]
Пока что я для этого перебераю каждое заведение и регуляркой сравниваю id заведения с тем списком айдишников что я получил ранее.
Я знаю что это не очень удачный вариант, поэтому обращаюсь сюда за помощью, можно ли этот процесс както прям в запросе сделать...
Заранее спасибо
Неактивен
Неактивен
Страниц: 1