Во-первых, вы должны знать, что я отстой в SQL.
Вот моя проблема:
У меня есть 4 таблицы, к которым нужно присоединиться (для использования в SphinxSearch),вот приблизительная структура:
Счета
Id Name Category
----------------
1 Test 1
2 Foo 2
3 Bar 1
Категория
Id Name
-------
1 Restaurants
2 Store
Счета_as_subcategory
account_id subcat_id
--------------------
1 1
1 3
2 2
Подкатегория
Id Name
-------
1 Chinese
2 Sportswear
3 Delivery
То, что я хочу, - это набор результатов, который выглядит следующим образом:
accounts.id | accounts.name | category_name | subcategories
-----------------------------------------------------------
1 Test Restaurants Chinese, Delivery
2 Foo Store Sportswear
Правильно, мой запрос выглядит так:
SELECT a.id, a.name, c.name as category, group_concat(subcat.name) as subcategories
FROM accounts AS a
JOIN (account_has_subcategory AS ahs, subcategory AS subcat)
ON (a.id = ahs.account_id AND ahs.subcat_id = subcat.id),
accounts AS a2
JOIN category AS c
ON a2.category = c.id
Как уже было сказано, я сосу на SQL (как только онвключает в себя несколько соединений или тому подобное в принципе ...).Если бы кто-то мог указать мне правильное направление или предложить решение (с базовым объяснением, чтобы я мог попытаться получить это в своем мозгу -_-), это сделало бы мой день, так как я боролся с этим запросом в течение хороших 5 часовсейчас ...
Спасибо.