Я сейчас сдаюсь, создавая JOIN, создавая представление по причинам поиска - мне нужна помощь: /
Вот мои таблицы:
Профили
id company user_id
1 ACME 2
2 Joe 4
3 Wolf 5
Пользователи
id role_id online
2 4 2010-10-08
4 2 2010-10-08
5 4 2010-10-08
Рубрики
id title
1 Steel
2 Stone
3 Wood
Profiles_Rubrics
profile_id rubric_id
1 1
1 2
2 3
2 1
То, что я хочу получить из этих таблиц, это представление с одной строкой для каждого профиля - также включая профили, которые не имеют записей в HABTM Profiles_Rubrics.Пока я просто могу получить профили, которые имеют записи в таблице HABTM:
CREATE OR REPLACE VIEW Catalog_Branches AS
SELECT
profiles.id,
profiles.company,
GROUP_CONCAT(DISTINCT CAST(rubrics.id AS CHAR) SEPARATOR ', ') AS rubric,
GROUP_CONCAT(DISTINCT CAST(rubrics.title AS CHAR) SEPARATOR ', ') AS rubric_title,
profiles.user_id
FROM
profiles,
profiles_rubrics
JOIN rubrics ON profiles_rubrics.rubric_id=rubrics.id,
users
WHERE
profiles_rubrics.profile_id=profiles.id
AND profiles_rubrics.rubric_id=rubrics.id
AND users.id=profiles.user_id
AND users.profile_online IS NOT NULL
AND users.role_id!=1
GROUP BY
profiles.id
Я попробовал это с помощью других ответов здесь в stackoverflow, но не могу добраться до точки, где он возвращает все профили.Я не большой специалист по MySQL, как видно из всего вышесказанного:)