group by de resistros diferentes
Publicado por Oscar (2 intervenciones) el 03/09/2018 20:07:52
Buenas tardes, estoy tratando de realizar una consulta en sql que me muestre aquellos clientes que aparezcan 2 o mas veces en mi tabla y que tengan un valor distinto en uno o mas campos; es decir si en mi tabla hay 3 registros del mismo cliente, pero con diferente valor en campo1, campo2 o campo3 deberia de traerme los 3 registros . Estoy probando con esta consulta:
select distinct num_cliente, campo1, campo2, campo3
from datos_cliente
group by num_cliente
having count(num_cliente)>1
order by num_cliente;
el detalle es que si en mi tabla de clientes hay dos registros con el mismo numero de cliente, pero diferenciado por campo4 me esta trayendo tambien uno de esos dos registros, ¿que me falta modificar para que solo evalué y me traiga los valores de los campos que quiero?
num_cliente campo1 campo2 campo3 campo4
31872055 7653 3863891 64345 tc101110
31872055 7653 3863891 66220 tc101110
31872055 7653 3863891 66422 tc101110
31876081 7361 4572497 96400 tc101120
31876081 3964 4572497 96400 tc101120
31876216 3405 7138419 87100 tc111470
31876216 3405 7138419 87100 tc111480
select distinct num_cliente, campo1, campo2, campo3
from datos_cliente
group by num_cliente
having count(num_cliente)>1
order by num_cliente;
el detalle es que si en mi tabla de clientes hay dos registros con el mismo numero de cliente, pero diferenciado por campo4 me esta trayendo tambien uno de esos dos registros, ¿que me falta modificar para que solo evalué y me traiga los valores de los campos que quiero?
num_cliente campo1 campo2 campo3 campo4
31872055 7653 3863891 64345 tc101110
31872055 7653 3863891 66220 tc101110
31872055 7653 3863891 66422 tc101110
31876081 7361 4572497 96400 tc101120
31876081 3964 4572497 96400 tc101120
31876216 3405 7138419 87100 tc111470
31876216 3405 7138419 87100 tc111480
Valora esta pregunta


0