2014-11-11 3 views
0

나는이 쿼리를 가지고 :그룹으로 SQL 서버

select vendnm as vendedor, 
ref as referencia, 
ETILIQUIDO as total 
from pn 
where FDATA between #1# and #2#` 

문제는 열 refAM0002, FA0003, MO004 같은 다른 많은 데이터를 가지고 내가 단지 2 개의 다른 그룹으로 그룹에이 모든 것을 가지고 있고을 합집합.

'FA%'으로 시작하는 모든 데이터와 나머지 데이터.

어떻게하면됩니까?

+0

당신은 각각 별도의 행을 원하십니까를'vendnm'? –

답변

2

case 문 같은 것을 사용

select (case when ref like 'FA%' then 'FA' else 'OTHER' end) as grp, 
     sum(ETILIQUIDO) as total 
from pn where FDATA between #1# and #2# 
group by (case when ref like 'FA%' then 'FA' else 'OTHER' end); 
+0

감사합니다. :) –

2

시도해보십시오.

SELECT vendnm   AS vendedor, 
     CASE 
      WHEN ref LIKE 'FA%' THEN 1 
      ELSE 0 
      END  AS ngrp, 
     Sum(ETILIQUIDO)AS total 
FROM pn 
WHERE FDATA BETWEEN 1 AND 2 
GROUP BY vendnm, 
      CASE 
      WHEN ref LIKE 'FA%' THEN 1 
      ELSE 0 
      END