PostgreSQL - PROBLEMAS AL AGRUPAR POR CLIENTE

 
Vista:
sin imagen de perfil

PROBLEMAS AL AGRUPAR POR CLIENTE

Publicado por Freddy Alberto (2 intervenciones) el 08/08/2017 04:23:24
Tengo una consulta SQL donde quiero obtener como resultado la relación de clientes que son atendidos X días de la semana, pero no logro agruparlo para que un cliente visitado mas de un día aparezca solo una vez en la lista

Mi Consulta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
select substring(ven.pers_rsoc,0,6)::char(6) as "Canal",
       substring(ven.pers_rsoc,7,length(ven.pers_rsoc)-6)::char(35) as "Vendedor",
       cl.pers_codi as "CODIGO", pcl.pers_rsoc as "Cliente",
       case when vis.tipo_item='000' then 'X' else '' end::char(1) as "LUN",
       case when vis.tipo_item='001' then 'X' else '' end::char(1) as "MAR",
       case when vis.tipo_item='002' then 'X' else '' end::char(1) as "MIÉ",
       case when vis.tipo_item='003' then 'X' else '' end::char(1) as "JUE",
       case when vis.tipo_item='004' then 'X' else '' end::char(1) as "VIE",
       case when vis.tipo_item='005' then 'X' else '' end::char(1) as "SAB",
       case when vis.tipo_item='006' then 'X' else '' end::char(1) as "DOM"
from public.cliente cl
     inner join public.persona_rol rol on cl.pers_codi = rol.pers_codi
     inner join public.persona pcl on cl.pers_codi = pcl.pers_codi
     inner join public.persona ven on cl.pers_vend = ven.pers_codi
     inner join public.cliente_visita vis on cl.pers_codi = vis.pers_codi
where rol.prol_acti='1'
group by cl.pers_codi, ven.pers_rsoc, pcl.pers_rsoc, vis.tipo_item

el resultado es
IMAGEN-1

pero lo que quiero obtener es el nombre del cliente sin repetir y todas las X en la misma fila de días de visita
IMAGEN-2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 16
Ha disminuido 1 puesto en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

PROBLEMAS AL AGRUPAR POR CLIENTE

Publicado por Leonardo Daniel A. (10 intervenciones) el 09/08/2017 02:19:03
Hola, porque haces un substring de ven.pers_rsoc ??? que le quitas ???? porque en esos te deja un espacio en blanco....,

substring(ven.pers_rsoc,7,length(ven.pers_rsoc)-6)::char(35) as "Vendedor",


y el group by lo haces sobre el nombre del campo original, no sombre el modificado

group by cl.pers_codi, ven.pers_rsoc, pcl.pers_rsoc, vis.tipo_item

deberia ser

group by cl.pers_codi, vendedor o codigo de vendedor, pcl.pers_rsoc, vis.tipo_item
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PROBLEMAS AL AGRUPAR POR CLIENTE

Publicado por Freddy Alberto (2 intervenciones) el 09/08/2017 14:38:49
Hola Leonardo,

El substring lo hago por que el campo pers_rsoc contiene el canal de distribucion y el nombre del vendedor todo junto "(MIN) PEREZ JUAN"
Con esto separo el canal del vendedor. Solo y únicamente por eso.

En realidad no tengo problemas con agruparlo por el nombre de cabecera o del campo original. Mi problema esta en que no consigo que la información salga como en la segunda imagen. Gracias anticipadas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar