У меня есть раздражающая проблема с запросом на обновление. Я пытаюсь работать ... Следующий оператор СЛЕДУЕТ обновлять channels.media_view_count до результата подзапроса (для всех каналов).Обновление MySQL с подзапросом
UPDATE channels c
SET c.media_view_count = (
SELECT SUM(t.view_count)
FROM (
SELECT DISTINCT m.viewkey, m.view_count
FROM media m
INNER JOIN participants p ON m.id = p.medium_id
WHERE p.user_id = c.id AND m.is_viewable = 1
AND (p.pending = 0)
) AS t
);
подзапрос отлично работает независимо друг от друга (при определении фактического идентификатора для c.id, как 47778 или любой другой), но когда я исполню это заявление, я получаю:
ERROR 1054 (42S22): Unknown column 'c.id' in 'where clause'
Я думал, что я иметь доступ к таблице каналов (с псевдонимом c) из подзапроса? Я что-то упустил, или я совершенно здесь не прав?
Любые и вся помощь оценена :)
Спасибо,
- Джефф
Так оно и было! Спасибо, Ахиль! –