Sql-запрос с динамическим join'ом

Рейтинг: 0Ответов: 2Опубликовано: 26.11.2014

Есть 3 таблицы (user, client, admin).

user содержит поля id и role.
Поле role может принимать значение client или admin.

В таблицах client и admin есть поле id, которое ровно user.id, то есть имеет связь один-к-одному и собственные уникальные атрибуты (то есть у каждой таблицы свои поля).

Пример

Когда я делаю select * from user where user.id=5, я получаю только role = client.
А потом делаю запрос к таблице client для получения всей информации о клиенте.

Есть 3 вопроса

  • Как сделать sql-запрос, чтобы обойтись одним запросом?
  • Может, архитектура базы плохая, и нужно по-другому продумать, так как подобные запросы будут самые частые в системе. Если переделывать, то предложите вариант.
  • Может, тут nosql будет практичней?

В голову пришла идея только с использованием left join.

Ответы

Ответов пока нет.