Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите пожалуйста составить запрос  [new]
Amyster
Member

Откуда: Moldova
Сообщений: 5
Есть следующие таблицы

IF OBJECT_ID('tempdb..#Currency_Lookup') IS NOT NULL DROP TABLE #Currency_Lookup
IF OBJECT_ID('tempdb..#Durg_Lookup') IS NOT NULL DROP TABLE #Durg_Lookup
IF OBJECT_ID('tempdb..#FORECAST_PREMIUMS') IS NOT NULL DROP TABLE #FORECAST_PREMIUMS
IF OBJECT_ID('tempdb..#FORECAST_Claims') IS NOT NULL DROP TABLE #FORECAST_Claims

-- Create Temporary table #Currency_Lookup
Create table #Currency_Lookup
(
Currency_Key int,
Currency varchar(5),
Currency_DESC Varchar(255)
)

Insert into #Currency_Lookup
Values
( 46, 'CAD' , 'Canadian Dollar' ),
( 80,'GBP' ,'British Pound Sterling'),
( 215, 'USD' ,'US Dollar')


-- Create Temporary table #Durg_Lookup
Create table #Durg_Lookup
(
Durg_Key int,
Durg_Code varchar(6),
Durg_Code_DESC Varchar(255)
)

Insert into #Durg_Lookup
Values
(0, NULL, NULL),
(4, '5AHME', 'Medical'),
(12, '5PSSA', ' South Africa'),
(36, '8074M', '807 Medical Expenses'),
(54, 'WRIPR', 'Pro Rata'),
(60, 'WRIMI', 'Miscellaneous RI'),
(98, '5AVMH', 'Miscellaneous (includes Space) (Hull)')

-- Create Temporary table #FORECAST_PREMIUMS

Create table #FORECAST_PREMIUMS
(
Syndicate_Key int,
Durg_Key int,
Currency_Key int,
Year_Of_Account varchar(10),
Forecast_Premium int,
CUML_EPI_Amount int
)

Insert into #FORECAST_PREMIUMS
Values
(NULL, NULL, NULL, 'UNKNOWN', 0,6),
( 3, 54, 46 ,'2000' , 109105 ,0 ),
( 3 ,54, 46, '2001' , 128645 , 128646),
( 6, 47, 80, '2002' , 117829, 6333),
( 6, 47, 80, '2002' , 125471, NULL),
( 6, 60, 80, '2003' , 82371, 82371),
( 10, 98, 215, '2006', 2093825, 77888),
( 10, 98, 215, '2006', 11111938, 4523645)

-- Create Temporary table #FORECAST_Claims
Create table #FORECAST_Claims
(
Syndicate_Key int,
Durg_Key int,
Currency_Key int,
Year_Of_Account varchar(10),
Outward_Contract_Referrence Varchar(25),
Forecast_Claims int,
Ultimate_Profit_Comission int
)

Insert into #FORECAST_Claims
Values
(NULL, NULL, NULL, 'UNKNOWN', 'UNKNOWN', 0,-45),
( 5, 47, 80 ,'2002' , 'AB00ZZ021M12', -9991203 ,NULL ),
( 5, 47, 80 ,'2002' , 'AB00ZZ021M13', -4522 ,-74412 ),
( 9 ,60, 215, '2006' ,'AC04ZZ021M13', -2340299 , -895562),
( 10, 98, 46, '2007' , 'FAC0ZZ021M55', -2564123, -851298)


Результатом запроса должны быть суммы Forecast_Premium и CUML_EPI_Amount для каждой комбинации DURG_Code, Currency и Year_of_Account

В запросе нужно использовать cast

К сообщению приложен файл. Размер - 39Kb
26 дек 11, 12:35    [11825611]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Amyster
В запросе нужно использовать cast

C чего такое требование?
26 дек 11, 19:09    [11829182]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
Не препод...
Guest
kDnZP
Amyster
В запросе нужно использовать cast

C чего такое требование?

Препод сказал...
26 дек 11, 19:10    [11829196]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
Amyster
Member

Откуда: Moldova
Сообщений: 5
ну почти - на работе дали задачу, мне и без каста ее сложно сделать. все, что получилось -

SELECT SUM(Forecast_Premium) AS Total_Forecast_Premium, SUM(CUML_EPI_Amount) AS Total_CUML_EPI_Amount
FROM #FORECAST_PREMIUMS

JOIN #Currency_Lookup ON #Currency_Lookup.Currency_Key = #FORECAST_PREMIUMS.Currency_Key
JOIN #Durg_Lookup ON #Durg_Lookup.Durg_Key = #FORECAST_PREMIUMS.Durg_Key


GROUP BY Durg_Code, Currency, Year_Of_Account
26 дек 11, 19:22    [11829257]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Amyster
все, что получилось

И что вам не нравиться в вашем запросе? Того что нету CAST? Так вы придумали куда его впихнуть?

* Обратите также внимание на NULL в Currency_Key и Durg_Key в таблице #FORECAST_PREMIUMS, а также на содержимое справочников.
26 дек 11, 19:32    [11829298]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
Amyster
Member

Откуда: Moldova
Сообщений: 5
тем, что результат моего запроса неправильный. но куда впихнуть каст, я не знаю.

правильный результат запроса такой

К сообщению приложен файл. Размер - 26Kb
26 дек 11, 19:58    [11829404]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Amyster, т.е. про LEFT вы не осознали? Печально.
26 дек 11, 20:12    [11829470]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста составить запрос  [new]
Amyster
Member

Откуда: Moldova
Сообщений: 5
kDnZP,

уже да) спасибо огромное)!
27 дек 11, 11:53    [11831873]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить