在sql中的having子句中的case语句
发布时间:2020-05-28 04:57:29 所属栏目:MsSql 来源:互联网
导读:我可以在SQL Server 2005的HAVING子句中使用case语句吗? 以下是我的HAVING声明.它给了我一个语法错误. @CLIENTPK_NEW IS NULL OR ( CLIENT.OH_PK = @CLIENTPK_NEW and CASE WHEN @RelatedOrgs 11 then CLIENT.OH_PK= @C
|
我可以在SQL Server 2005的HAVING子句中使用case语句吗? 以下是我的HAVING声明.它给了我一个语法错误. @CLIENTPK_NEW IS NULL OR
(
CLIENT.OH_PK = @CLIENTPK_NEW and
CASE WHEN @RelatedOrgs <> '11' then CLIENT.OH_PK= @CLIENTPK_NEW
ELSE CLIENT.OH_PK in (
SELECT dbo.OrgHeader.OH_PK FROM dbo.OrgHeader WITH (NOLOCK) INNER JOIN
dbo.OrgRelatedParty WITH (NOLOCK) ON dbo.OrgHeader.OH_PK = dbo.OrgRelatedParty.PR_OH_Parent INNER JOIN
dbo.OrgHeader AS OrgHeader_1 WITH (NOLOCK) ON dbo.OrgRelatedParty.PR_OH_RelatedParty = OrgHeader_1.OH_PK
where OrgHeader_1.OH_PK = @CLIENTPK_NEW
)
END
)
}
AND (@CGNEEPK IS NULL OR CGNEE.OH_PK = @CGNEEPK) AND
part.OP_RH_NKCommodityCode = @type
谢谢, 阿米特 解决方法示例(从 here开始):USE AdventureWorks2008R2;
GO
SELECT JobTitle,MAX(ph1.Rate)AS MaximumRate
FROM HumanResources.Employee AS e
JOIN HumanResources.EmployeePayHistory AS ph1
ON e.BusinessEntityID = ph1.BusinessEntityID
GROUP BY JobTitle
HAVING (MAX(CASE WHEN Gender = 'M'
THEN ph1.Rate
ELSE NULL END) > 40.00
OR MAX(CASE WHEN Gender = 'F'
THEN ph1.Rate
ELSE NULL END) > 42.00)
ORDER BY MaximumRate DESC; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 如何从Oracle中的另一个数据库创建一个表作为select
- sql – 为每种类型的用户将登录名和密码放在一个表或多个表
- 数据库 – 如何对我的流星方法进行单元测试?
- sql-server – 无法通过sqlcmd连接到LocalDB
- SQL SERVER存储过程的输出参数,返回值与结果集
- sql-server – 在SQL Reporting Services中,如何根据参数过
- sql – 如何在Access中使用Alter Table创建十进制字段?
- MySQL数据库Event定时执行任务详解
- sql-server-2008 – Sql Server 2008 Reporting Services:
- 使用SqlServer CTE递归查询处理树、图和层次结构
