Кто-нибудь есть идеи, почему это не работает?Попытка получить внутреннее соединение через 3 стола для работы
"SELECT TT.SubmitDate AS SD, TT.AssignedEmp as AE, TT.JobNum as JN,
TT.BegMile as BM, TT.EndMile as EM, TT.TotMile as TM, TT.TandT as TA, TT.Daily as DA,
TI.InTime as IT, TI.OutLunch as OL, TI.InLunch as IL, TI.OutTime as OT, TI.TotalTime as TO,
WO.JobName
FROM TimeTracking TI
INNER JOIN TransportTable TT
ON TI.TimeSheetNum = TT.TimeSheetNumber
INNER JOIN WorkOrderNum WO
ON TT.JobNum = WO.JobNumber
WHERE TT.AssignedEmp='$empname' AND TT.SubmitDate >= '$start' AND TT.SubmitDate <='$end'
ORDER BY TT.SubmitDate";
Это дает мне сообщение об ошибке:
SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error
(missing operator) in query expression 'TI.TimeSheetNum = TT.TimeSheetNumber
INNER JOIN WorkOrderNum WO ON TT.JobNum = WO.JobNumber'., SQL state 37000
in SQLExecDirect
Запрос работает нормально, если удалить одно из двух соединений, так что я знаю, что проблема не связана с стыки индивидуально ... утра Я пропустил что-то простое?
Он показывает просто синтаксическую ошибку (отсутствующий оператор). Итак, лучше внимательно посмотреть сверху. Надеюсь, вы знаете синтаксис о внутренних соединениях, чтобы получить более двух табличных данных. –
Что происходит, когда вы удаляете все предложение 'where'? Какие типы 'TimeSheetNum (ber)' и 'JobNum (ber)'? Off Topic, но, на мой взгляд, лучше соглашаться с именами столбцов. Неважно, используете ли вы 'Num' или' Number', но делаете сами * (и другие) * пользу и выбираете ** один **. –
Еще одна проблема, если я удалю предложение where. TimeSheetNum (ber) и JobNum (ber) - оба ints. И да, я испортил имена столбцов, и это то, что я имел в виду, чтобы вернуться и исправить. – Hoser