Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Обновляет количество товаров Null не подходящих по условию  [new]
pirat2k
Member

Откуда: Молдова, Приднестровье, Бендеры
Сообщений: 5
Здраствуйте, есть запрос:
UPDATE tovar SET tovar.KolVo=(SELECT tovar.KolVo+zakaz.KolVo FROM zakaz WHERE zakaz.idMagOtp IN (3) AND zakaz.status IN ('ОЖИДАНИЕ') AND zakaz.idMagPrin=tovar.idMag AND zakaz.idTov=tovar.idTov)

Записи подходящим по условию он обновляет, а вот на остальных вешает Null. Скажите что не так в запросе и как его исправить?
Нужно чтобы количество товаров которые в накладной склада суммировались с количеством товара в магазине при условии что мы делаем накладную на складе номер 3.

К сообщению приложен файл (magazin.sql - 13Kb) cкачать
22 янв 20, 20:00    [22064694]     Ответить | Цитировать Сообщить модератору
 Re: Обновляет количество товаров Null не подходящих по условию  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20016
pirat2k
Здраствуйте, есть запрос:
[удалён]
Записи подходящим по условию он обновляет, а вот на остальных вешает Null.
Блин... такое ночью приснится - не отмахаешься же! И чё б ему не гадить, если обновляются все подряд записи - и нужные, и ненужные...

UPDATE tovar
JOIN zakaz ON zakaz.idMagPrin=tovar.idMag 
		  AND zakaz.idTov=tovar.idTov
SET tovar.KolVo=COALESCE(tovar.KolVo)+zakaz.KolVo 
WHERE zakaz.idMagOtp IN (3) 
 AND zakaz.status IN ('ОЖИДАНИЕ');


pirat2k
Приложенный файл (magazin.sql - 13Kb)
Тоже так себе. Грязный дамп, ненужные нафиг таблицы...

Вот так делают: fiddle.

Сообщение было отредактировано: 22 янв 20, 22:16
22 янв 20, 22:16    [22064748]     Ответить | Цитировать Сообщить модератору
 Re: Обновляет количество товаров Null не подходящих по условию  [new]
pirat2k
Member

Откуда: Молдова, Приднестровье, Бендеры
Сообщений: 5
Решил немножкор по другому вопрос
UPDATE tovar,zakaz SET tovar.KolVo=tovar.KolVo+zakaz.KolVo WHERE zakaz.idTov=tovar.idTov AND zakaz.idMagPrin=tovar.idMag AND zakaz.idMagOtp IN(3) AND zakaz.statusZak IN('ОЖИДАНИЕ')
22 янв 20, 23:27    [22064793]     Ответить | Цитировать Сообщить модератору
 Re: Обновляет количество товаров Null не подходящих по условию  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20016
pirat2k
Решил немножко по другому вопрос
Да то же самое, только в форме картезианки. Лучше всё же используйте JOIN - там хорошо отделяются условия связывания от условий отбора.
23 янв 20, 08:01    [22064913]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить