March
Новичок
Связи двух таблиц по двум столбцам
Есть две таблицы:
В стобцах `req_engineer_1` и `req_engineer_2` таблицы `data` содержаться числовые индентификаторы которые есть в столбце `id` таблицы `users`. Тоесть на каждую строчку таблицы `data` по запросу на `data.req_engineer_1`=`users.id` или `data.req_engineer_2`=`users.id` найдётся строчка из `users`. Поле req_engineer_2 в некоторых случаях может быть незаполнена (Значение по умолчанию - 0), тогда как req_engineer_1 заполнена всегда.
Требуется: при выборке из таблицы `data` находить соответствия полю `req_engineer_1` в таблице `users` произведя поиск `data.req_engineer_1` = `users.id` и выводить записи, но только уже с соответствиями `req_engineer_1` как `users.name`. Так-же и с `req_engineer_2` - искать в таблице `users` `id-шник`, смотреть `name` и выводить вместе со всем остальным:
Сделать так с одним полем у меня получается:
SELECT data.id , data.req_engineer_1 , users.name
FROM `data`
LEFT JOIN `users` ON data.req_engineer_1 = users.id
Но вот как впихнуть в запрос поиск по req_engineer_2? и соответственно в конечном выводе чтобы добавлялась ещё одна колонка но уже со значениями для `req_engineer_2` соответсвующие полю `name` в таблице `users` найденные по поиску `data.req_engineer_2` = `users.id`?
Есть две таблицы:
Код:
----------------------------------------------------
| data |
----------------------------------------------------
| `id` | req_engineer_1 | req_engineer_2 |
| int(10) | int(10) | int(10) |
| auto_increment | | |
----------------------------------------------------
Код:
--------------------------------
| users |
--------------------------------
| `id` | name |
| int(10) | varchar(30) |
| auto_increment | |
--------------------------------
Требуется: при выборке из таблицы `data` находить соответствия полю `req_engineer_1` в таблице `users` произведя поиск `data.req_engineer_1` = `users.id` и выводить записи, но только уже с соответствиями `req_engineer_1` как `users.name`. Так-же и с `req_engineer_2` - искать в таблице `users` `id-шник`, смотреть `name` и выводить вместе со всем остальным:
Код:
--------------------------------------------------------------------------------------------------------------------
| Выборка из таблицы |
--------------------------------------------------------------------------------------------------------------------
| `id` | req_engineer_1 | req_engineer_2 | name(по req_engineer_1) | name(по req_engineer_2) |
| int(10) | int(10) | int(10) | varchar(30) | varchar(30) |
| auto_increment | | | | (если ненайдено - оставлять пустым) |
--------------------------------------------------------------------------------------------------------------------
SELECT data.id , data.req_engineer_1 , users.name
FROM `data`
LEFT JOIN `users` ON data.req_engineer_1 = users.id
Но вот как впихнуть в запрос поиск по req_engineer_2? и соответственно в конечном выводе чтобы добавлялась ещё одна колонка но уже со значениями для `req_engineer_2` соответсвующие полю `name` в таблице `users` найденные по поиску `data.req_engineer_2` = `users.id`?