【问题标题】:Receive quantity of lines of query接收查询行数
【发布时间】: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


【解决方案1】:

您可以通过子查询来实现:

伪代码:

Select Name, description,
  (select max(field) from table2) as maxtable2
from table 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多