SQL - uso distinct en sql server

 
Vista:

uso distinct en sql server

Publicado por JAIS (1 intervención) el 19/04/2017 20:41:48
hola, ayuda por favor con el uso del distinct en esta consulta :

update PR1 set CLAVE_C = 'u' where RFC IN (SELECT RFC FROM PR1 WHERE CONCEPTO ='93' GROUP BY RFC HAVING COUNT (DISTINCT RFC) = 1)

quiero actualizar la clave_c solo a los RFC unicos que tengan concepto = 93

en la tabla tengo 7 registros con concepto = 93 donde solo 3 son RFC unicos, la consulta mensionada me actualiza la clave_c en los 7 registros :(
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
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

uso distinct en sql server

Publicado por leonardo_josue (1173 intervenciones) el 20/04/2017 16:10:03
Hola JAIS:

Creo que el DISTINCT es lo que está mal, porque lo que estás haciendo es justamente eliminar los duplicados de tal suerte que todos los contabiliza en 1, quítaselo y deja sólo el COUNT(rfc):

1
2
3
4
UPDATE pr1 SET clave_c = 'u'
WHERE rfc IN ( SELECT rfc
               FROM pr1 WHERE concepto = '93'
               GROUP BY rfc HAVING COUNT(RFC) = 1)

Haz la prueba y nos comentas.

Saludos
Leo,
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

uso distinct en sql server

Publicado por Isaias (1921 intervenciones) el 20/04/2017 18:26:49
Yo cambiar IN por EXISTS
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

uso distinct en sql server

Publicado por Isaias (1921 intervenciones) el 20/04/2017 22:32:59
Va de nuevo: Yo CAMBIARIA el IN por el EXISTS, ya que este ultimo, tiene un mejor desempeño.
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