【发布时间】:2014-01-31 09:53:31
【问题描述】:
我有以下问题
SELECT 'Active Borrowers per Loan Officer' AS PERFORMANCE_RATIOS,
(
SELECT count(DISTINCT L.CUSTOMER_ID) / COUNT(DISTINCT L.MIS_ACCT_OFFICER) AS RATIO
FROM LD_LOANS_AND_DEPOSITS L
WHERE REPORT_DATE = (
SELECT MIN(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
)
) AS RATIO1,
(
SELECT count(DISTINCT L.CUSTOMER_ID) / COUNT(DISTINCT L.MIS_ACCT_OFFICER) AS RATIO
FROM LD_LOANS_AND_DEPOSITS L
WHERE REPORT_DATE = (
SELECT MAX(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
)
) AS RATIO2,
(
(
SELECT count(DISTINCT L.CUSTOMER_ID) / COUNT(DISTINCT L.MIS_ACCT_OFFICER) AS RATIO
FROM LD_LOANS_AND_DEPOSITS L
WHERE REPORT_DATE = (
SELECT MAX(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
)
) - (
SELECT count(DISTINCT L.CUSTOMER_ID) / COUNT(DISTINCT L.MIS_ACCT_OFFICER) AS RATIO
FROM LD_LOANS_AND_DEPOSITS L
WHERE REPORT_DATE = (
SELECT MIN(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
)
)
) / (
SELECT count(DISTINCT L.CUSTOMER_ID) / COUNT(DISTINCT L.MIS_ACCT_OFFICER) AS RATIO
FROM LD_LOANS_AND_DEPOSITS L
WHERE REPORT_DATE = (
SELECT MIN(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
)
) * 100 AS CHANGE,
(
SELECT MIN(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
) AS REPORT_DATE1,
(
SELECT MAX(REPORT_DATE)
FROM LD_LOANS_AND_DEPOSITS
) AS REPORT_DATE2
我需要做的是在外部使用 Ratio1/Ratio2 而不必重复返回这些 2 值的整个 sql 代码。我该怎么做?
【问题讨论】:
-
刚刚添加,抱歉
标签: sql sql-server subquery