Синтаксическая ошибка RMySQL не идентифицируется - PullRequest
0 голосов
/ 29 июня 2018

Это продолжение моего предыдущего вопроса . Я использую пакет RMySQL в R для отправки SQL-запроса в базу данных MySQL. Ошибка говорит, что что-то не так с синтаксисом, но я не могу найти часть ошибки. Кто-нибудь может мне помочь исправить эту ошибку?

Таблица данных выглядит следующим образом:

organisation    Tour_ID             A           B           C           D  
Ikea                  a    2018-04-01  2018-05-07  2018-05-09  2018-05-01
Ikea                  a    2018-06-01  2018-05-03  2018-05-29          NA   
Ikea                  a    2018-04-02  2018-05-01  2018-07-08  2018-05-26 
Ikea                  b    2018-06-02  2018-05-01          NA  2018-05-26
Ikea                  b    2018-06-02  2018-05-01          NA  2018-05-26
Ikea                  b            NA  2018-05-05  2018-08-02  2018-06-01
Ikea                  c    2018-06-01  2018-05-07  2018-05-09  2018-05-01
Ikea                  c    2018-06-01  2018-05-03          NA          NA   
Ikea                  c    2018-08-02  2018-05-09  2018-07-08  2018-05-26

И синтаксис, который я написал:

cond <- 'SELECT t.* 
         FROM myTable t JOIN 
                        (SELECT organisation, Tour_ID 
                         FROM myTable 
                         WHERE organisation LIKE "Ikea" AND
                         GROUP BY organisation, Tour_ID 
                         HAVING LEAST(COALESCE(MIN(A), "2119-01-01"),
                                      COALESCE(MIN(B), "2119-01-01"),
                                      COALESCE(MIN(C), "2119-01-01"), 
                                      COALESCE(MIN(D), "2119-01-01")) >= "2018-05-01 00:00" AND 
                                LEAST(COALESCE(MIN(A), "2119-01-01"), 
                                      COALESCE(MIN(B), "2119-01-01"),
                                      COALESCE(MIN(C), "2119-01-01"),
                                      COALESCE(MIN(D), "2119-01-01")) < "2018-05-31 00:00"
                         ) tt ON 
                           tt.Tour_ID = t.Tour_ID AND 
                           tt.organisation = t.organisation'

dbGetQuery(conn = connection, statement = cond)

И сообщение об ошибке, которое я получаю:

Error in .local(conn, statement, ...) : could not run statement: 
You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax 
to use near 'GROUP BY organisation, Tour_ID HAVING LEAST(COALESCE(MIN(A' at line 1

Но я не вижу проблем в части GROUP BY! Что не так с моим синтаксисом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...