MySQL запрос с двумя таблицами

0

У меня две таблицы

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

Как я могу это сделать?

  • 0
    Эрик. Я не знаю, как я могу это сделать.
Теги:
join

2 ответа

2

Вы должны сделать что-то подобное. Оператор обновления с подзапросом

update TblParts set stock= COALESCE((select count(*) from TblExistencias where 
TblExistencias.code = TblParts.code),0)
  • 0
    Спасибо !, Работает хорошо!
  • 0
    если это помогло вам, пожалуйста, примите ответ как принятый.
Показать ещё 2 комментария
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;
  • 0
    спасибо за предложение. я обновил ответ.
  • 0
    Спасибо за ответ, оба запроса работают, если у меня есть TblExistencias.codigo, но если у меня нет TblExistencias.codigo, мне тоже нужно обновить TblPartes.stock = 0, выберите TE.codigo, COUNT (TE.codigo), КАК COUNT ИЗ TblPartes TP оставил JOIN TIBLEXEx как TE на TP.codigo1 = TE.codigo GROUP BY TE.codigo
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню