Проблема с обновлением запроса MySQL и SQLite

#javascript #mysql

#javascript #mysql

Вопрос:

Моя таблица:

 id |    les_mo_id      |    les_comp     |    les_ch_comp
.1.|...................|........0....... |...................
.2.|........1..........|.................|.........1.........
.3.|........1..........|.................|.........1.........
.4.|...................|........0....... |...................
.5.|........4..........|.................|.........2.........
.6.|........4..........|.................|.........1.........
.7.|...................|........0........|...................
.8.|........7..........|.................|.........1.........
.9.|........7..........|.................|.........4.........
  

Я должен выполнить запрос, но я не знаю, как его настроить. Я только изучаю этот язык.

Мне нужно обновить столбцы ‘les_comp’, добавив все значения столбцов ‘les_ch_comp’ с идентификатором les_mo_id = 1

Это мой запрос

 UPDATE base_app SET les_comp = (SELECT SUM(les_ch_comp) WHERE les_mo_id = "1") WHERE id = "1";
  

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

1. Ваш подзапрос не имеет FROM .

2. Разве вам не нужно, чтобы значение les_ch_comp равнялось нулю в вашем предложении update where? В самом конце

Ответ №1:

В вашем запросе должно быть FROM . Попробуйте:

 UPDATE base_app SET lesson_complete = (SELECT SUM(lesson_child_complete) FROM 
base_app WHERE lesson_mother_id = "1") WHERE id = "1"
  

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

1. #1093 — Таблица ‘base_app’ указана дважды, как цель для ‘UPDATE’, так и как отдельный источник данных

Ответ №2:

Точно так же, как UUeerdo sugests:

ОБНОВИТЬ базовое приложение, УСТАНОВИТЬ les_comp = (ВЫБРАТЬ СУММУ (les_ch_comp) ИЗ base_app, ГДЕ les_mo_id = «1»), ГДЕ id = «1»