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

Откуда:
Сообщений: 1
Добрый день!

Есть 2 запроса:

with DefaultAfterYear as (
SELECT DISTINCT credit_id, debt
FROM Loko
WHERE dpd>=90 and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') AND
(view_date >= DATEADD(year,1,open_date)))
SELECT CONVERT(float,SUM(debt)) FROM DefaultAfterYear;

with FirstDefaults as (
SELECT DISTINCT credit_id, debt
FROM Loko
WHERE dpd>=90 and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') AND
(view_date IN (SELECT TOP(1) view_date FROM Loko WHERE dpd >= 90)))
SELECT CONVERT(float,SUM(debt)) FROM FirstDefaults;

И нужно разделить результат первого на результат второго. Как это можно сделать?
20 янв 19, 14:15    [21789633]     Ответить | Цитировать Сообщить модератору
 Re: Очень нужна помощь с делением запроса на запрос  [new]
londinium
Member

Откуда: Киев
Сообщений: 1136
Nast1010,
with DefaultAfterYear as (
SELECT DISTINCT credit_id, debt
FROM Loko
WHERE dpd>=90 and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') AND
(view_date >= DATEADD(year,1,open_date))),

FirstDefaults as (
SELECT DISTINCT credit_id, debt
FROM Loko
WHERE dpd>=90 and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') AND
(view_date IN (SELECT TOP(1) view_date FROM Loko WHERE dpd >= 90))),
RESULTS AS
(
  SELECT D.CREDIT_ID,D.DEBT/F.DEBT
FROM DefaultAfterYear  AS D
JOIN FirstDefaults AS F ON D.CREDIT_ID=F.CREDIT_ID
)
SELECT R.*
FROM RESULTS AS R
20 янв 19, 15:05    [21789662]     Ответить | Цитировать Сообщить модератору
 Re: Очень нужна помощь с делением запроса на запрос  [new]
uaggster
Member

Откуда:
Сообщений: 757
Nast1010, "разделить" в каком смысле?
Арифметическое деление, реляционное? Разделить первую выборку на части по количеству строк во второй? :-)
21 янв 19, 09:13    [21789976]     Ответить | Цитировать Сообщить модератору
 Re: Очень нужна помощь с делением запроса на запрос  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20183
with DefaultAfterYear as (
SELECT DISTINCT credit_id, debt 
FROM Loko
WHERE dpd>=90 
  and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') 
  AND (view_date >= DATEADD(year,1,open_date))),

query1 AS (
SELECT CONVERT(float,SUM(debt)) value1 FROM DefaultAfterYear),

FirstDefaults as (
SELECT DISTINCT credit_id, debt
FROM Loko
WHERE dpd>=90 
  and (open_date between '2011-12-01T00:00:00' AND '2011-12-31T00:00:00') 
  AND (view_date IN (SELECT TOP(1) view_date FROM Loko WHERE dpd >= 90))),

query2 AS (
SELECT CONVERT(float,SUM(debt)) value2 FROM FirstDefaults)

SELECT value1/value2
FROM query1, query2;
21 янв 19, 09:43    [21789993]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить