Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 12.05.2009, 15:55
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

С эти разобрался.
Но вопрос по добавлению возникает
Суть вот в чём
Товар который указан в возврате не обязательно бракованый
и получается
что запрос на обновления выглядит так
Код:
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  
Старый 12.05.2009, 17:20
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Конечно получается несколько записей, ведь вы сами добавляете запись, хотя подразумевается, что будет изменятся уже имеющаяся.
Просто убедитесь перед добавлением, что такого товара на складе нет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #33  
Старый 12.05.2009, 17:27
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Есть одно темное место в вашей БД. У вас отсутствует возможность получения среза информации за определенный период.
Ну скажем, надо оценить ситуацию за прошлый месяц, год и т.д.
А для этого все операции по движению товара у вас должны быть зафиксированы в журнале операций. Такового у вас я ненаблюдаю.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #34  
Старый 15.05.2009, 22:10
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

никак не могу разобраться.
Условие я написал выше.
Код:
 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=false
и при этом если на складе уже есть товар со значением brak=true, тобы товар не добавлялся)
спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter