Скажите, у меня есть 3 таблицы. Таблица1 содержит client_id и client_name. Таблица2 содержит client_id, client_catid_1 и client_catid_2. Эти таблицы объединяются на основе client_id. Теперь третья таблица, содержит category_id и category_name. Как можно присоединиться к третьей таблице на основе идентификаторов категорий и получить имя_категории? Пример:
Таблица 1:
client_id | client_name
-----------------------
121231231 | Some name
345234666 | Another Name
-----------------------
Таблица 2:
client_id | client_catid_1 | client_catid_2
-------------------------------------------
121231231 | 22 | 79
345234666 | 34 | 566
------------------------------------------
Таблица 3:
category_id | category_name
----------------------------
22 | category 22
34 | category 34
79 | category 79
566 | category 566
----------------------------
Тогда вывод:
client_id | client_name | client_cat1 | client_cat2
---------------------------------------------------
121231231 | Some name | category 22 | category 79
345234666 | Another | category 34 | category 566
---------------------------------------------------
И текущий запрос:
SELECT client.*,
cat1id.client_catid_1 as cat1,
cat2id.client_catid_2 as cat2
FROM tb_clients AS client
LEFT JOIN tb_clients_categories cat1id ON client.client_id = cat1id.client_id
LEFT JOIN tb_clients_categories cat2id ON client.client_id = cat2id.client_id
WHERE client.client_id = 65447
Кроме того, я не спрашиваю о нормализации или дизайне базы данных. Я говорю это только потому, что люди, как правило, пропускают ваш вопрос и начинают пытаться информировать вас о лучшем дизайне базы данных. Это я поняла. Я работаю с чем-то, что я изначально не собирал, и смена БД - не вариант!
Заранее спасибо!