我已经创建了一个基于CASE表达式进行聚合的视图。视图所基于的transaction表大约有9亿行。我需要基于多个条件聚合值,包括日期和产品代码。当我们在没有过滤器的情况下进行一些聚合时,我将至少需要对数据进行一次完整扫描,所以我认为使用case语句将允许它只执行一次扫描,而不是必须为每个条件运行一个查询。[GI_TransactionLineProductContact]
GROUP BY [Co
. , (CASE WHEN (D.C_ZONE is null or D.C_ZONE = '') THEN
coalesce(DL.C_ZONE, ' ') ELSE coalesce(D.C_ZONE基本上,根据C_ZONE是空还是空,应该从S.SNFDLR或S.SFDDIST这两个表中的任何一个中提取它。同时,还有两个列,N_ZONE和N_REGN,它们应该使用来自另一个表S.SRCZNRG的C_ZONE值来获取。为此,我需要在(S.SNFDLR和S.S
我希望有条件地连接到一个表中的一个或两个字段,这取决于特定列的取值方式。我尝试使用CASE语句来完成此操作,但它不起作用: SELECT *INNER JOIN ALT_TABLE B ON B.UNIT = A.UNIT AND B.USERIDELSE 'F.UNIT = A.UNIT'
END 然而,我得到了一个错误:一个在上下文中指定的</em
关于以下两个SQL,我有一个问题:declare @i2 bit, @b2 bitinsertinto @t values (1)
select case when (select count(1) from @t n2 where 1 = 2) > 0 then1 else 0 end
select @i1 = 1, @b1 = case when @i1 = 1 or