Mysql условное обновление со значениями других таблиц

0

У меня есть четыре таблицы базы данных A, BC и D, я хотел бы обновить одно и то же значение столбца, как показано ниже. reference - это ссылка на внешний ключ или refc или refd. Здесь структура таблиц

  • A (id_A, цена,...)
  • B (id_B, id_A, ссылка,...)
  • C (refc, price1,..)
  • D (refd, price2,...)

я хотел бы сделать это условие обновления

A.price = C.price1

A.price = D.price2

На данный момент сделано одно обновление:

> update   A  psh
>JOIN B t8
>ON psh.id_A= t8.id_A
>JOIN C t6 
>ON t8.reference = t6.refc   
>SET  psh.price = t6.price1 

при выполнении второго запроса в таблице D первые обновленные значения становятся равными 0

    >update   A  psh
    >JOIN B t8
    >ON psh.id_A= t8.id_A
    >JOIN D t6 
    >ON t8.reference = t6.refd   
    >SET  psh.price = t6.price2

что пошло не так? Любое предложение пожалуйста

Теги:
conditional
sql-update

1 ответ

0

Вы можете попытаться использовать ";" (точка с запятой) в конце первого запроса на обновление. Точка с запятой в конце будет выполнять ваш оператор обновления, и ваш элемент будет обновлен.

Ещё вопросы

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