【发布时间】:2016-01-13 21:13:31
【问题描述】:
请提示。
我有一个疑问:SELECT MAX(FPS.EndDateKey) WHERE FPS.EndDateKey <>-2
我需要在其他查询中接收此查询的行数:
SELECT INVS.ParticipantKey, MIN(CASE WHEN FPS.EndDateKey <> -2 AND FPS.EndDateKey > FPS.DefinedEndDateKey
AND FPS.EndDateKey > @PeriodEndDateKey AND FPS.DefinedEndDateKey < @PeriodEndDateKey
THEN 1
ELSE 0
END) as InRunout,
MAX(CASE WHEN DP.AccountKey = 6 THEN 1 ELSE 0 END) as HasHSA,
MAX(FPS.StartDateKey) as MostCurrentEnrollment,
CASE WHEN EXISTS(SELECT MAX(FPS.EndDateKey) WHERE FPS.EndDateKey <>-2) THEN 1 ELSE 0 END AS CurrentPlanYear
FROM SupportFile.InvoicableSubscription as INVS
INNER JOIN Evolution1.FactProductSubscription as FPS ON FPS.SubscriptionKey = INVS.SubscriptionKey AND FPS.StartDateKey = INVS.StartDateKey
INNER JOIN Evolution1.DimProduct as DP ON DP.ProductKey = FPS.ProductKey
GROUP BY INVS.ParticipantKey, FPS.EndDateKey
我是怎么做到的?请提示。谢谢
【问题讨论】:
-
“行数”是什么意思?你的意思是你需要知道实际查询中有多少行?你在哪里做这个?在您正在构建的应用程序中?为什么不自己数线呢?
-
"Prompt please"- 告诉人们他们没有足够快地帮助你被认为是非常粗鲁的。尤其是在他们根本没有机会提供帮助之前,当您只是假设他们不会足够快地满足您的需求。 -
@David -- 这里的翻译有明显的损失。我不确定 OP 是否使用“请提示”这句话来表示“请尽快提供帮助”或“您现在必须提供帮助”或类似的意思。
-
请说明您到目前为止所尝试的内容。表明您已经进行了一定程度的研究(即尝试自己先解决)的问题更有可能让人们花时间回答这些问题。
-
也许您只需要 COUNT 行?
标签: sql sql-server