Тема: Update
Показать сообщение отдельно
  #17  
Старый 01.03.2011, 21:57
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Впоринципе да, ты прав cast можно убрать...
и сделать подзапрос ...

Код:
dm.Arh.SQL.clear;
    dm.Arh.SQL.Add('update "SKLAD"');
    dm.Arh.SQL.Add('SET Kol=Kol-(SELECT Kol FROM TREB2 WHERE flag like ''' +'%'+'2'+ '%'' and treb2.LinkID=Sklad.id),');
    dm.Arh.SQL.Add('Summa=Summa-(SELECT Summa FROM TREB2 WHERE flag like ''' +'%'+'2'+ '%'' and treb2.LinkID=Sklad.id)');
    dm.Arh.SQL.Add('WHERE Sklad.id IN (SELECT treb2.LinkID FROM treb2 WHERE Sklad.id=treb2.LinkID and treb2.flag=2 )');
    dm.Arh.ExecSQL;

но таже ошибка ругается на фразу

Код:
and treb2.flag=2
в самом конце, если её убрать то работет но не корректно...
Ответить с цитированием