У меня две таблицы
Table TblParts
(id
detail
code
stock)
Table TblExistencias
(code
Serial)
Мне нужно сделать запрос на обновление TblParts.stock
с TblExistencias
таблицы TblExistencias
(TblExistencias
код).
if TblExistencias.code = TblParts.code then Count(TblExistencias.code) and update TblParts.stock
Как я могу это сделать?
Вы должны сделать что-то подобное. Оператор обновления с подзапросом
update TblParts set stock= COALESCE((select count(*) from TblExistencias where
TblExistencias.code = TblParts.code),0)
Вы должны получить счет для акций от TblExistencias, присоединившись к TblParts и TblExistencias по коду. Подобно,
select TE.CODE,COUNT(TE.CODE) AS COUNT
FROM TblParts TP
inner JOIN TblExistencias as TE ON TP.CODE=TE.CODE
GROUP BY TE.CODE
Используйте запрос в качестве подзапроса в вашем запросе на обновление, выбирая результат из вышеприведенного запроса как X и используйте его с запросом обновления. поэтому ваш запрос на обновление будет
UPDATE TblParts as t
set stock=X.COUNT
from
(select TE.CODE,COUNT(TE.CODE) AS COUNT
FROM TblParts TP
inner JOIN TblExistencias as TE ON TP.CODE=TE.CODE
GROUP BY TE.CODE
) AS X
where t.CODE=X.CODE;