SQL ожидал окончания ввода, но получил ключевое слово WHERE

#sql #google-bigquery

#sql #google-bigquery

Вопрос:

Я выполняю SQL-запрос с использованием Python для большого набора данных запроса. Я получаю сообщение об ошибке и не могу понять, что мне нужно исправить самостоятельно. Это журнал ошибок:

Ожидаемый конец ввода, но получил ключевое слово WHERE

Переменная vector_score является плавающей (я также пробовал с int и делает то же самое)

Запрос:

 sql = f"""
    SET lauder = lauder * %f 
    WHERE keyword= '%s'
    AND (date BETWEEN '%s' AND '%s')
    """ % (vector_score, keyword, starting_date, ending_date)
  

Параметры:

 vector_score = 1.05
keyword = food
starting_date = '2020-01-10'
ending_date = '2020-01-17'
  

Комментарии:

1. Вы пытались поместить пример lauder_float * %f в скобки: (lauder_float * %f)?

2. Также какую СУБД вы используете?

3. Вам не хватает ключевого UPDATE слова и целевой таблицы в начале вашего заявления?

Ответ №1:

В вашем исполнении отсутствует фактическая команда обновления

 UPDATE TARGET_NAME
SET lauder = lauder * %f 
    WHERE keyword= '%s'
    AND (date BETWEEN '%s' AND '%s')