SELECT
COUNT([P].[pkPortfolioId]) AS [OutcomeNotSubmitted],
[CG].[GroupName]
FROM
opp.Portfolio AS [P]
INNER JOIN
[vendor].[CustomerGroup] AS [CG] ON [P].[fkCustomerGroupId] = [CG].[pkCustomerGroupId]
WHERE
fkOutcomeId IS NULL
GROUP BY
[CG].[GroupName]
該查詢可以正常工作,但有多種結果,如下所示。爲了使此查詢正常工作,我需要複製此查詢以獲得所需的結果。另外還有很多連接。請記住,這是例如修剪的查詢。在CASE中使用CASE中的列而沒有在組中使用
我想要實現這樣的結果:
NAME WIN PartialWin Loss OutcomeNotSubmitted
---------------------------------------------------------
Chain 1 0 1 0
下面這個我試圖在一個查詢
SELECT
CASE
WHEN [P].[fkOutcomeId] = 1 THEN COUNT([P].[pkPortfolioId])
END AS [Win],
CASE
WHEN [P].[fkOutcomeId] = 2 THEN COUNT([P].[pkPortfolioId])
END AS [PartialWin],
CASE
WHEN [P].[fkOutcomeId] = 3 THEN COUNT([P].[pkPortfolioId])
END AS [Loss],
CASE
WHEN [P].[fkOutcomeId] IS NULL THEN COUNT([P].[pkPortfolioId])
END AS [OutcomeNotSubmitted],
[CG].[GroupName]
FROM
opp.Portfolio AS [P]
INNER JOIN
[vendor].[CustomerGroup] AS [CG] ON [P].[fkCustomerGroupId] = [CG].[pkCustomerGroupId]
GROUP BY
[CG].[GroupName]
錯誤來實現這一目標:
Column 'opp.Portfolio.fkOutcomeId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
當這個答案彈出時,我正在輸入相同的東西。就是這個。 – Nick
@尼克我在做同樣的事情哈哈。 – RToyo