![]() |
|
|
#31
|
|||
|
|||
|
С эти разобрался.
Но вопрос по добавлению возникает Суть вот в чём Товар который указан в возврате не обязательно бракованый и получается что запрос на обновления выглядит так Код:
UPDATE Sklad INNER JOIN Vozvr ON Sklad.LinkTovar=Vozvr.LinkT SET Sklad.kol = Sklad.kol+Vozvr.Kl Where Vozvr.Brak=sklad.brack and Vozvr.IDVozv=:v Но вот с добавлением проблема Код:
insert into Sklad (LinkTovar,kol,brack) select LinkT,kl,brak from Sklad inner join Vozvr on Sklad.LinkTovar=Vozvr.LinkT Where brack<>brak and Vozvr.IDVozv=:v есть товар №1 (4 шт. брак) и №1(2шт. не брак) При добавлении товара №1 (5шт, не брак) на склад он добавляет эту запись и у меня получется №1 (4шт, брак) №1(2шт,не брак) №1 (5шт, не брак) а надо №1 (4шт,брак) №1(7шт,не брак) |
|
#32
|
||||
|
||||
|
Конечно получается несколько записей, ведь вы сами добавляете запись, хотя подразумевается, что будет изменятся уже имеющаяся.
Просто убедитесь перед добавлением, что такого товара на складе нет. |
|
#33
|
||||
|
||||
|
Есть одно темное место в вашей БД. У вас отсутствует возможность получения среза информации за определенный период.
Ну скажем, надо оценить ситуацию за прошлый месяц, год и т.д. А для этого все операции по движению товара у вас должны быть зафиксированы в журнале операций. Такового у вас я ненаблюдаю. |
|
#34
|
|||
|
|||
|
никак не могу разобраться.
Условие я написал выше. Код:
insert into Sklad (linkTovar,kol,Brack) select LinkT, kl, Brak From sklad sk right join Vozvr v on sk.linkTovar=v.LinkT Where Brak=true and LinkTovar is null and Idvozv=:X и при этом если на складе уже есть товар со значением brak=true, тобы товар не добавлялся) спасибо! |