Mariadb кроме ошибки заявления

0

Любые идеи относительно того, почему этот запрос не работает на mariadb? Кажется, что он соответствует шаблону на сайте документации mariadb

SELECT ...
(INTERSECT | EXCEPT | UNION [ALL | DISTINCT]) SELECT ...
( SELECT t1.visitid, t1. patientid, t1.visitdate
FROM db.medi_officevisit t1
WHERE t1.visitdate = (SELECT t2.visitdate
                 FROM db.medi_officevisit t2
                 WHERE t2.PatientID = t1.PatientID and VISITdate >= '2018-01-01'
                 ORDER BY t2.visitID DESC
                 LIMIT 1) )
EXCEPT
( SELECT t1.visitid, t1. patientid, t1.visitdate
FROM db.medi_officevisit t1
WHERE t1.visitdate = (SELECT t2.visitdate
                 FROM db.medi_officevisit t2
                 WHERE t2.PatientID = t1.PatientID and VISITdate >= '2017-01-01' and VISITDATE <= '2018-01-01'  
                 ORDER BY t2.visitID DESC
                 LIMIT 1) );

Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с 'EXCEPT (SELECT t1.visitid, t1. patientid, t1.visitdate FROM db.medi_o' в строке 8

  • 1
    Какая версия MariaDB у вас есть? EXCEPT добавлено в 10.3.0. См. Mariadb.com/kb/en/library/except
  • 0
    10.2.16-MariaDB-10.2.16 + бинарный дистрибутив maria ~ xenial mariadb.org, так что мне вместо этого использовать?
Показать ещё 5 комментариев
Теги:
mariadb

1 ответ

0

EXCEPT была добавлена в MariaDB версии 10.3.0. Вам нужно обновить версию MariaDB, чтобы это можно было сделать.

Если вы не можете, обратитесь к решениям в строке Return только в том случае, если значение не существует

Ещё вопросы

Сообщество Overcoder
Наверх
Меню