我有一个包含CASE
表达式的SELECT
查询。 我有一个'总计'列'文字'GrandTotalGroupTotal'。 还有第二列文字'GrandTotalGroup'。 若要对“GrandTotalGroup”列中的行进行求和并放置该行“GrandTotalGroupTotal”行,我将在CASE语句中标识出正确的行,如下所示。在SQL Server中截断字符串中子字符串的第二次出现
我需要从列值中截断最后一个“总计”。 这个SELECT语句有效。 Bu如果可能,我想删除硬编码值GrandTotalGroup。
SELECT SUG3.LineOrder AS SNo,
CASE WHEN (Visits IS NULL)
THEN (SELECT SUM(ISNULL(CTE3.Visits, 0))
FROM CTE3
WHERE CTE3.GroupSetName = 'GrandTotalGroup')
ELSE ISNULL(Visits, 0) END AS Visits
FROM UDSStaffUtilizationGroups SUG3
LEFT OUTER JOIN CTE3 ON CTE3.UDSStaffGroupID = SUG3.UDSStaffGroupID
GROUP BY SUG3.LineOrder, SUG3.GroupSetName, SUG3.GroupTotalName, CTE3.Visits
有没有办法使用字符串函数来改变: GrandTotalGroupTotal到GrandTotalGroup
这是可行的理解,但它不是足够通用。 –