Мне нужно ОБНОВИТЬ данные в одном столбце, используя данные из другого столбца таблиц - PullRequest
1 голос
/ 05 мая 2020

Я следил за множеством примеров и искал решение, которое работает для меня, но ни одно не сработало.

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

  UPDATE resultados 
  SET respuesta_r = (SELECT examenes.respuesta FROM examenes WHERE examenes.tipo='final' AND examenes.nivel='2') 
  WHERE resultados.orden_p = examenes.orden AND examenes.tipo='final' AND examenes.nivel='2'

Это база данных SQLite, я пробовал много видов сортировки, но тут мне струйно не повезло. Извините, это все на испанском sh. Надеюсь, кто-нибудь укажет мне правильное направление.

1 Ответ

3 голосов
/ 05 мая 2020

Правильно SQL будет:

 UPDATE resultados 
  SET respuesta_r = (SELECT examenes.respuesta FROM examenes 
                      WHERE examenes.tipo='final' AND examenes.nivel='2' 
                            AND resultados.orden_p = examenes.orden)

, но если select возвращает несколько строк, вы можете использовать агрегатную функцию, например:

 UPDATE resultados 
  SET respuesta_r = (SELECT MIN(examenes.respuesta) FROM examenes 
                        WHERE examenes.tipo='final' AND examenes.nivel='2'
                              AND resultados.orden_p = examenes.orden)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...