2017-02-01 2 views
0

Я пытаюсь обновить таблицу T1, посчитав результаты SQL-запроса из другой таблицы T2.Обновление таблицы путем подсчета результатов из другой таблицы

Это запрос, я придумал, но это не похоже на работу:

UPDATE T1 set Stock = (select count (ID_Item) 

FROM T2, T1 

WHERE T2.ID_Product=T1.ParentSKU AND 
    T2.Name='' AND 
    T2.Returned='' 

Я получаю 0 за результат, даже если я знаю, что это не должно быть. Любая помощь будет замечательной.

ответ

1

Правильный синтаксис:

UPDATE T1 
    SET Stock = (SELECT count(ID_Item) 
       FROM T2 
       WHERE T2.ID_Product = T1.ParentSKU AND 
         T2.Name = '' AND 
         T2.Returned = '' 
       ); 

Вы не должны повторять ссылку на T1 в коррелированных подзапросов. Вам нужно соединение между подзапросом и обновляемой таблицей.

+0

Спасибо, что отлично работает, но я понял, что мне нужно добавить еще один запрос из другой таблицы T3 в подсчете выбора. Как я могу это сделать? –

+0

@PierreS. , , , Задайте * другой вопрос. Не задавайте вопросы в комментариях и не меняйте вопросы после ответа (это может привести к недействительности ответов, которые рисуют downvotes). –

Смежные вопросы