Есть ли лучший способ объединить несколько полей в одной таблице? - PullRequest
0 голосов
/ 06 ноября 2011

У меня есть таблица, полная имен сотрудников, и одно из полей там называется «инициалы». У меня есть еще одна таблица, которая содержит записи обучения с 3 полями, которые ссылаются на идентификатор сотрудника в таблице сотрудников (тренер). Я пытаюсь написать запрос, который будет возвращать таблицу, в которой будут отображаться инициалы соответствующего человека в таблице сотрудников для каждого поля в таблице записей обучения. Я с трудом оборачиваюсь вокруг этого и надеялся, что смогу помочь. Это тестовый запрос, который я начал до того, как логический процессор в моей голове перегрелся и выключился:

SELECT sign1.initials, sign2.initials, sign3.initials
FROM record_trainingRecord tr 
INNER JOIN lut_employee sign1 ON (sign1.id = tr.sign1Trainer)
INNER JOIN lut_employee sign2 ON (sign2.id = tr.sign2Trainer)
INNER JOIN lut_employee sign3 ON (sign3.id = tr.sign3Trainer)

Это было основано на некоторых вещах, которые я читал на форумах, но я получаю синтаксическую ошибку (отсутствует оператор). halp. ТИА

1 Ответ

1 голос
/ 06 ноября 2011

Хорошо, так что из всего, что я мог собрать, это проблема с MS Access. Я должен был на самом деле все вкладывать, так что это действительно грязно и в значительной степени заставляет меня хотеть / запястья, но это работает:

SELECT sign1.initials, sign2.initials, sign3.initials
FROM lut_docs docs
INNER JOIN (lut_employee sign1 INNER JOIN
             (lut_employee sign2 INNER JOIN
                (lut_employee sign3 INNER JOIN record_trainingRecord tr 
                 ON sign3.id = tr.sign3Trainer) 
              ON sign2.id = tr.sign2Trainer)
            ON sign1.id = tr.sign1Trainer)
      ON docs.docNum = tr.docNum
WHERE tr.id = ?

Документы были другой частью моего решения, не связанной с моим исходным постом. Но я хотел убедиться, что это было показано как решение для доступа ...

...