Я хочу запросить базу данных moodle, чтобы получить записи в учетную запись syn c 'd, но «Где НЕ СУЩЕСТВУЕТ» возвращает синтаксическую ошибку. - PullRequest
0 голосов
/ 28 мая 2020

Я постоянно упирался в это, и я действительно не понимаю, что я испортил. Я использую рабочую среду My SQL и отправляю запросы в mariadb. Исходная функция, с которой я работаю, просто возвращает записи, однако они втягивают их все (их более 1000). В идеале функция должна возвращать только новые записи, а не все (следовательно, без удаления). Я пытаюсь использовать WHERE NOT EXISTS, однако SQL возвращает код ошибки 1064. Пример кода ниже:

SELECT WHERE NOT EXISTS 
usr1.email 
 , case when ccm.course = 7 then 'CourseComplete' 
  when ccm.course = 10 then 'Course1' when ccm.course = 4 then 'Course1CourseComplete' else 'other' end as coursecompleted 
 , course 
 ,  date_add(from_unixtime(timecompleted), INTERVAL 1 HOUR) as CompletionDate 
 FROM  moodledb.m_course_completions ccm 
 inner join m_user usr1 
 on ccm.userid = usr1.id 
 where timecompleted is not null and ccm.course in (4,7,10) order by 4 desc 

Кроме того, я пробовал альтернативные варианты размещения для функции «там, где не существует», но все они возвращают та же ошибка 1064. Будет ли лучше работать другой оператор? Сможет ли Гоку победить этого нового врага? Любые предложения будут приняты с благодарностью

...