Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Registros duplicados Excepto uno

Estas en el tema de Registros duplicados Excepto uno en el foro de SQL Server en Foros del Web. Un saludo a todos! Tengo una consulta que me arroja algo asi: 081-5088 --descripcion--PZA-- ubicacion1--ALMACEN 2--02 081-5088 --descripcion--PZA-- ubicacion2--ALMACEN 2--02 Entonces si todos los registros ...
  #1 (permalink)  
Antiguo 01/07/2014, 08:07
 
Fecha de Ingreso: junio-2014
Ubicación: D.F.
Mensajes: 42
Antigüedad: 10 años, 5 meses
Puntos: 0
Registros duplicados Excepto uno

Un saludo a todos!
Tengo una consulta que me arroja algo asi:

081-5088 --descripcion--PZA-- ubicacion1--ALMACEN 2--02
081-5088 --descripcion--PZA-- ubicacion2--ALMACEN 2--02

Entonces si todos los registros son iguales excepto uno, como puedo hacer para que me muestre algo mas o menos asi?

081-5088 --descripcion--PZA-- ubicacion1,ubicacion2--ALMACEN 2--02

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 01/07/2014, 08:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Registros duplicados Excepto uno

Código SQL:
Ver original
  1. CREATE TABLE testing_c
  2. (
  3. DATA VARCHAR(20),
  4. data1 VARCHAR(20),
  5. data2 VARCHAR(20),
  6. data3 VARCHAR(20),
  7. data4 VARCHAR(20),
  8. data5 VARCHAR(20)
  9. )
  10.  
  11. INSERT INTO testing_c VALUES ('081-5088','descripcion','PZA','ubicacion1','ALMACEN 2','02')
  12. INSERT INTO testing_c VALUES ('081-5088 ','descripcion','PZA','ubicacion2','ALMACEN 2','02')
  13. INSERT INTO testing_c VALUES ('081-5088 ','descripcion','PZA','ubicacion3','ALMACEN 2','02')
  14. INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion1','ALMACEN 2','02')
  15. INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion2','ALMACEN 2','02')
  16. INSERT INTO testing_c VALUES ('081-5085 ','descripcion','PZA','ubicacion3','ALMACEN 2','02')
  17.  
  18.  
  19. CREATE FUNCTION VALUE (@id VARCHAR(20))
  20. RETURNS VARCHAR(MAX)
  21. AS
  22. BEGIN
  23.     DECLARE @DepartmentName VARCHAR(1000)
  24.     SELECT @DepartmentName = COALESCE(@DepartmentName,'') + data3 + ','  
  25.     FROM testing_c WHERE DATA=@id
  26.     RETURN @DepartmentName
  27. END
  28.  
  29.  
  30. SELECT DATA,data1,data2,(SELECT dbo.VALUE(DATA)),data4,data5 FROM testing_c GROUP BY DATA,data1,data2,data4,data5

usando los valores que das de ejemplo cree una tabla, para poder ilustrar como realizar lo que necesitas, si te fijas use la funcion coalesce, con una funcion para poder retornar los datos como los necesitas.

Preguntas, comentarios son bien recibidos :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 01/07/2014, 09:11
 
Fecha de Ingreso: junio-2014
Ubicación: D.F.
Mensajes: 42
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Registros duplicados Excepto uno

Muchas Gracias por responder!
Probé la solución y en la ultima linea, en el ultimo select me marca error en dbo.value dice que el nombre de objeto no es valido. No se si sea la versión de mi sqlserver, es 2000
  #4 (permalink)  
Antiguo 01/07/2014, 09:23
 
Fecha de Ingreso: junio-2014
Ubicación: D.F.
Mensajes: 42
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Registros duplicados Excepto uno

jaja disculpame por las prisas no analice!! Funciona perfecto muchas gracias.. Me has salvado :)

Etiquetas: duplicados, excepto, registro, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.