У меня есть что-то вроде запросалевое внешнее соединение только с первой строки
SELECT S.product_id, S.link, C.id AS category_id
FROM Products P
INNER JOIN SEO S ON S.product_id = P.id AND P.product_type = 1
LEFT OUTER JOIN Categories C ON c.product_id = P.id
WHERE P.active = 1
Я отлично работает для меня до тех пор, как каждый продукт присваивается только в одной категории. Но если продукт присваивается многим категориям, он возвращает все возможные комбинации.
Могу ли я выбрать только первый и, если продукт не имеет какой-либо категории связь все еще должны быть возвращены с category_id = NULL
'Первый, по каким критериям? – Lamak
Вы можете добавить MIN или MAX и GROUP BY на category_id. Если это недостаточно, переместите Категории в подзапрос. – Stavr00