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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2015, 10:21   #21
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Аватар спасибо за внимание , Спасибо что уделили меня время. Это я виновать , не правильно написал логика
xxbesoxx вне форума Ответить с цитированием
Старый 24.06.2015, 10:27   #22
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

(t_money + t_money/100*10) +(t_money /100*10) *(DATEDIFF(DAY,t_date,GETDATE())/10)
Выделенное будет не правильно вычисляться, всегда
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.06.2015, 11:40   #23
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

А так правильно да ?
Код:
select *,
 case
 when (select DATEDIFF(DAY, t_date, GETDATE()) ) > 10 then  
 (t_money + t_money/100*t_proc) +(t_money /100*t_proc) *(DATEDIFF(DAY,t_date,GETDATE())/t_proc)
 else
 (t_money + t_money/100*t_proc) +(t_money /100*t_proc) *(DATEDIFF(DAY,t_date,GETDATE())/t_proc)
 end as [Doljen]
from T1
У меня реалны БД где "выданный кредит + добавка" , Там я путаю в логике Но чтобы такого ошибка я не допустил
1) На первое функцие я буду добавлять -- "выданный кредит + добавка"
Код:
ALTER FUNCTION FunLpriem1()
RETURNS TABLE -- возврашать таблицу
with encryption -- Зашита 
AS
   
/*
  На эту функцию мы просто сложим (Выдани денег + Добавка)
*/
RETURN (
 SELECT * , 
      ISNULL(( SELECT SUM(d_money)
       FROM DobavkaPr D
       WHERE L.lpri_id=d.d_LpriemID
      ),0) Dobavka , L.Lpri_VidDeng + ISNULL(( SELECT SUM(d_money)
                                               FROM DobavkaPr D
                                               WHERE L.lpri_id=d.d_LpriemID
                                               ),0) [Vidan_Dobavka] -- На Delphi-Grid ,Будим скривать это поля
FROM Lpriem L)
2) А на второе функцие напишу CASE буду работат на эту [Vidan_Dobavka] поля. из второе функцие можно вызвать первый да ?
И это будеть тела второе функций
Код:
-- Здесь уже я работаю в поля [Vidan_Dobavka] который я заранее перечитал
select * ,
   CASE
    WHEN (SELECT DATEDIFF(DAY, Lpri_datePr, GETDATE()) ) > CAST(Lpri_ProcentVibor AS INT) THEN
    ([Vidan_Dobavka] + [Vidan_Dobavka]/100*CAST(Lpri_DenVibor AS INT)) +([Vidan_Dobavka] /100*CAST(Lpri_DenVibor AS INT)) * (DATEDIFF(DAY,Lpri_datePr,GETDATE())/CAST(Lpri_ProcentVibor AS INT) )
    ELSE
    ([Vidan_Dobavka] + [Vidan_Dobavka]/100*CAST(Lpri_DenVibor AS INT)) +([Vidan_Dobavka] /100*CAST(Lpri_DenVibor AS INT)) * (DATEDIFF(DAY,Lpri_datePr,GETDATE())/CAST(Lpri_ProcentVibor AS INT) )
   END AS [Должен]
from FunLpriem1()
Аватар что вы скажете ? из "второе" функций можно вызвать "первое" нечего здесь криминального да ?

Последний раз редактировалось xxbesoxx; 24.06.2015 в 12:37.
xxbesoxx вне форума Ответить с цитированием
Старый 24.06.2015, 12:36   #24
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
А так правильно да ?
Зависит от типа t_proc
Цитата:
из второе функцие можно вызвать первый да ?
Попробуй
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.06.2015, 12:40   #25
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Зависит от типа t_proc
Да , здесь тип будеть целое число , на пирмер (10, или 15, или 20, или 30)
Цитата:
Попробуй
Да пробовал все нормально , Но получаетсия я из второго вызвал первый и на вычисление поле работаю через case так можно да ?
xxbesoxx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Арифметическое выражение. Решить квадратное уравнение и посчитать выражение, используя вычисленные корни. dauletsergazin Паскаль, Turbo Pascal, PascalABC.NET 4 13.11.2017 11:55
CASE(C++) trans967 Помощь студентам 1 05.11.2013 20:23
Перемещение из case 1 в case 2(switch(), язык Си) Павел_95 Помощь студентам 13 11.01.2013 14:18
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09