我有下面写的查询。多个表达式在sql查询中使用case exprssion
SELECT T1.[AcctCode],T1.[Segment_0],SUM(T0.[DebLTotal]) AS BUDGET, SUM(T3.[Debit]) AS DEBIT,
AcctName = CASE WHEN T1.[Segment_0] LIKE '6001%%' THEN 'Operating Cost'
WHEN T1.[Segment_0] LIKE '6002%%' THEN 'Operating Cost'
WHEN T1.[Segment_0] LIKE '6003%%' THEN 'Operating Cost'
WHEN T1.[Segment_0] LIKE '6004%%' THEN 'Operating Cost'
WHEN T1.[Segment_0] LIKE '6005%%' THEN 'Operating Cost'
WHEN T1.[Segment_0] LIKE '6006%%' THEN 'Operating Cost'
ELSE T1.[AcctName] END
FROM OBGT T0 INNER JOIN OACT T1 ON T0.[AcctCode]=T1.[AcctCode] INNER JOIN OBGS T2
ON T0.[Instance] = T2.[AbsId] INNER JOIN JDT1 T3 ON T1.[AcctCode] = T3.[Account] INNER JOIN OASC T4 ON T1.[Project]=T4.[Code]
where T1.[Segment_0] like '60%%'
GROUP BY T1.[AcctCode],T1.[Segment_0],T1.[AcctName]
此查询为我提供了不同的运营成本值。我需要类似WHEN T1.[Segment_0] LIKE '6002%%,6003%%,6004%%' THEN 'Operating Cost'
。可能吗?我不需要一个接一个的喜欢。作为运营成本,我需要一切。请帮我解决这个问题。
请编辑您的问题并提供样本数据和期望的结果。目前尚不清楚你想要做什么。 –
简而言之,如果segment_0从6开始,那么账户名称应该是运营成本。当我将案件提升至'6006'时,我得到多行。我只需要一行。 @GordonLinoff – Kirat
等等,我们真的在说什么“从6开始”?正如'LIKE'6%''就足够了吗? –