2014-12-16 2 views
0

Я использую RODBC для объединения двух таблиц в ACCESS. Вот мои коды:RODBC sqlQuery: имя со специальным символом #

qry <- "SELECT * FROM 
     table1 LEFT OUTER JOIN table2 
     ON table1.Ref# = table2.Ref# " 
result <- sqlQuery(connection, qry) 
str(result) 

который возвращает следующее сообщение об ошибке:

"42000 -3100 [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 

Я считаю, это потому, что я не использовал "table1.Ref # = table2.Ref #" правильно. С помощью специального символа, как я могу изменить этот запрос? Заранее большое спасибо.

ответ

0

Попробуйте обернуть имена полей специальными символами внутри квадратных скобок.

SELECT 
    * 
FROM 
    table1 
     LEFT JOIN 
    table2 
    ON 
    [table1].[Ref#] = [table2].[Ref#] 

Также Access не поддерживает OUTER Join, поэтому попробуйте LEFT Join.

+0

Спасибо, Пол. Я попытался, но теперь он говорит: «07002 -3010 [Microsoft] [ODBC Microsoft Access Driver] Слишком мало параметров Ожидаемый 1." ... – Lily

+0

@Lily, есть инструкция WHERE, которая требует параметра? Если это так, убедитесь, что он передан в запрос. – PaulFrancis

+0

Нет, у меня нет инструкции WHERE. Я просто пытаюсь объединить две таблицы по ссылке #. Во всяком случае, я столкнулся с проблемой, создав временные таблицы в R. Спасибо за помощь! – Lily

Смежные вопросы