AleksMo
@AleksMo

Как сделать запрос к связанным таблицам в Microsoft SQL Server чтобы результат выводился в одном столбце?

3 связанных таблицы SQL 2017, Должность - MainTabMatrix, Задачи - TasksM, Функции - Duties.
Диаграмма
5f2938b019f0a229116722.jpeg

Справочник
5f2938d86fc6f717510202.jpeg

Как сделать запрос выводящий:
Должность: Начальник РЭС
Задача: Метрологическое обеспечение РЭС
Функции: 4.4.1 Контролирует ответственного за учет, состояние и применение вспомогательных (переносных) средств измерения в РЭС.
4.4.2 Организует обеспечение единства и требуемой точности измерений в РЭС
4.4.3 Организует ведение базы данных средств измерений в подсистеме, находящихся в эксплуатации структурного подразделения или на обслуживаемом оборудовании.

Получилась так, но нужно в одном столбце
5f29393a2eb4e855376745.jpeg

Select name_site, NameTask, NameDuties 
  from MainTabMatrix u 
     JOIN TasksM b ON u.main_id = b.main_id 
     JOIN Duties p ON b.id_task = p.id_task
 WHERE u.name_site = 'Начальник РЭС';

<br /> Нужно чтобы было:
5f29395a1d1b5692927641.jpeg
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
SELECT main_id AS [Код], 0 AS [Код.Код], 0 AS [Код.Код.Код], name_site AS [Текст]
  FROM MainTabMatrix
  WHERE name_site = 'Начальник РЭС'
UNION
SELECT MainTabMatrix.main_id, id_taks, 0, NameTask AS [Текст]
  FROM MainTabMatrix
    JOIN TasksM ON MainTabMatrix.main_id = TasksM.main_id
  WHERE name_site = 'Начальник РЭС'
UNION
SELECT MainTabMatrix.main_id, TasksM.id_taks, duties_id, NameDuties AS [Текст]
  FROM MainTabMatrix
    JOIN TasksM ON MainTabMatrix.main_id = TasksM.main_id
    JOIN Duties ON TasksM.id_task = Duties.id_task
  WHERE name_site = 'Начальник РЭС'
ORDER BY 1, 2, 3
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы