#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»