Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2016, 00:17   #1
delphi159
Подтвердите свой е-майл
 
Регистрация: 27.01.2015
Сообщений: 28
По умолчанию помогите написать запрос на Firebird, Interbase 2009

В бд есть таблицы:
Income-накладные прихода: Income_id,Partn_id, Goods_id, Price, Qty, taxable(товар платит или нет налог-ндс).
Partn-поставщики: Partn_id, vatpayer
Vatpayable-Моя фирма обагается или нет ндс-ом: vatpayable=0 or 1.

Нужно реализовать такой алгоритм:

PHP код:
If моя фирма не плательщик ндс-налога(vatthen vat:=0  
Else begin
    
if  поставщик ндс-плательщик then begin
        
if Income.taxable=0 then vat:=0  //товар не платит ндс
        
else vat:=price*18/118;           //товар платит ндс
    
end
    
else vat:=0;
end 


На Firebird выполняется внутренная часть запроса

PHP код:
if  поставщик ндс-плательщик then 
begin
       
if Income.taxable=0 then vat"=0
       else vat:=price*18/118;
end
else vat:=0; 
и правильно возврашает результат.

Firebird 2.5:

PHP код:
select Goods_Idincome_idQtyPricevatpayerPrice*Qty as summa,

CASE 
when Vatpayer=1 then 
  
case 
    
when taxable=0 then 0
    when taxable
=1 then Price*18/118
  end  
Else 0
END 
AS Vat
 
from Income
partn
where Income
.part_id=partn.part_id
group by Goods_id
Income_idQtyPricevatpayerSumma,Vat 


но как связывать эту, наружную часть запроса,
PHP код:
If моя фирма не плательщик ндс-налога(vatthen vat:=0  
      
Else begin
      
....
      
end

с внутренным, если таблица VatPayable, где записано моя фирма платит или нет ндс (VatPayable=0 or =1), никак не связан с таблицами Income и Partn с помощью ключей?

И второй вопрос: тот-же самый запрос выдаёт разные ошибки на Interbase 2009:
Column Unknown если в group by написан Summa,Vat,
а если без ных, тогда- Invalid column reference.
И ещё ругается на price*18/118: expression evaluation not supported

Последний раз редактировалось delphi159; 15.10.2016 в 03:17.
delphi159 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить запрос. Firebird tarakan1983 SQL, базы данных 4 05.04.2014 16:16
Interbase 2009 + C++Builder XE проблема с БД Rusl92 Помощь студентам 0 12.11.2011 21:26
из interbase в firebird? Domanoff БД в Delphi 1 18.05.2010 20:23
Проблема с Interbase 2009 и Firebird 2.1.3 forzi Софт 2 19.03.2010 15:36
Клиент FireBird/InterBase sabina_smile SQL, базы данных 9 28.10.2008 21:08