На данный момент у меня есть запрос:
SELECT
`groups`.`id`,
`groups`.`name`,
`groups`.`description`,
`groups`.`members`,
`groups`.`image`,
FROM
`groups`
WHERE
`groups`.`name` LIKE '%a%'
OR
`groups`.`description` LIKE '%b%'
Все работает как положено, но мне нужно выбрать еще одну вещь. Проблема в том, что он хранится в другой таблице, и я не очень хорош с соединениями. Вот вторая структура таблицы:
group_members
Мне нужно выбрать указанный статус пользователя для группы! Является ли это возможным? Как?
Спасибо за совет!
Edit:
Мне нужно отобразить все группы и текущий статус пользователя в каждой из этих групп.
Редактировать # 2:
Допустим, user_id
установлено на 33
. Он вводит aa
в качестве имени группы и в результатах видит все группы, которые имеют aa
в названии. Кроме того, в результате его статус в каждой группе.
ID Name Description Status
2 aa2 foobar 3
2 aa1 foobar 1
4 aa3 foobar
6 aa3 foobar
5 aa3 foobar 2
Редактировать # 3:
Вот почти то, что мне нужно ...
SELECT `groups`.`id`, `groups`.`name`, `groups`.`description`, `groups`.`members`, `groups`.`image`, `group_members`.`status`
FROM `groups`
LEFT JOIN `group_members`
ON (`group_members`.`group_id` = `groups`.`id`)
WHERE `group_members`.`user_id` = '33'
AND `groups`.`name` LIKE '%%'
OR `groups`.`description` LIKE '%%'
Единственная проблема, я не выбираю группы, в которых я не являюсь членом. Интересно, почему ... Я использовал 'left external' join.