У меня есть запрос, написанный ниже.multiple Как выражение в 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'
. Является ли это возможным? Мне не нужны разные предпочтения по одному. Мне нужно все в одном, как эксплуатационные расходы. Пожалуйста, помогите мне за это.
Пожалуйста, отредактируйте свой вопрос и укажите образцы данных и желаемые результаты. Непонятно, что вы пытаетесь сделать. –
Простыми словами, если сегмент_0 начинается с 6, то имя учетной записи должно быть операционным. Я получаю несколько строк, поскольку я делаю случаи до «6006». Мне нужна только одна строка. @GordonLinoff – Kirat
Подождите, что, мы действительно говорим «начинается с 6»? Как в 'LIKE '6%' 'было бы достаточно? –