2016-06-28 5 views
0

Получение синтаксической ошибки со сценарием ниже в доступе MS. Прекрасно работает без второго внутреннего соединения. Есть идеи?SQL multiple joins

SELECT 
    tblStudySetup.[Room Number], 
    qQC1A.[% of Hr Per Doc] AS [QC1A] 
    qQC1R.[% of Hr Per Doc] AS [QC1R] 
FROM tblStudySetup 

INNER JOIN (
SELECT tblStudySetup.[Room Number], tblMultipler.[% of Hr Per Doc] 
FROM tblStudySetup LEFT JOIN tblMultipler 
ON tblStudySetup.QC1AType = tblMultipler.Type 
) AS qQC1A 
ON tblStudySetup.[Room Number] = qQC1A.[Room Number] 

INNER JOIN (
SELECT tblStudySetup.[Room Number], tblMultipler.[% of Hr Per Doc] 
FROM tblStudySetup LEFT JOIN tblMultipler 
ON tblStudySetup.QC1RType = tblMultipler.Type 
) AS qQC1R 
ON tblStudySetup.[Room Number] = qQC1R.[Room Number]; 

Структура таблицы следующим образом

tblStudySetup: [Количество номеров], [QC1A], [QC1R]

tblMultipler: [Type], [% от Hr Per Doc]

Таким образом, tblStudySetup для каждой комнаты будет иметь тип множителя, например «QC1A-default», который может быть равен [% от Hr Per Doc], скажем, 20%. Существует несколько различных типов умножителей.

+0

могли бы вы опубликовать структур таблиц – Jayvee

+0

При загрузке SQL в режиме SQL запроса и попробуйте запустить его, доступ должен перейти к части запроса, который вызывает Синтаксическая ошибка – dbmitch

+0

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

ответ

1

В исходном предложении выбора между вашим вторым и третьим полями отсутствует запятая.

Исправлено:

SELECT 
    tblStudySetup.[Room Number], 
    qQC1A.[% of Hr Per Doc] AS [QC1A], 
    qQC1R.[% of Hr Per Doc] AS [QC1R] 
FROM tblStudySetup 
+0

Это просто ошибка копирования, но все еще не работает, появляется следующее сообщение об ошибке. –

+0

Ошибка синтаксиса (отсутствующий оператор) в запросе express 'tblStudySetup. [Номер комнаты] = qQC1A. [Номер комнаты]. Без второго абзаца внутреннего соединения этот раздел работает, хотя –

+1

Быстрый поиск предполагает, что вам может понадобиться добавить круглые скобки вокруг каждого соединения: http://stackoverflow.com/questions/15389553/syntax-error-missing-operator-in-query-expression Я не использовал MS Access активно в течение некоторого времени, но я помню, что он был придирчивым к синтаксису соединений. –