Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
londinium Member Откуда: Киев Сообщений: 1195 |
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] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 960 |
Nast1010, "разделить" в каком смысле? Арифметическое деление, реляционное? Разделить первую выборку на части по количеству строк во второй? :-) |
21 янв 19, 09:13 [21789976] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20974 |
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 | ![]() |