Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/07/2013, 08:10
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta maestro-detalle

sip y para muestra un boton:

Código SQL:
Ver original
  1. CREATE TABLE datos
  2. (
  3. dato1 VARCHAR(20),
  4. dato2 VARCHAR(20)
  5. )
  6.  
  7. INSERT INTO datos VALUES ('M1', 'D1')
  8. INSERT INTO datos VALUES ('M1', 'D2')
  9. INSERT INTO datos VALUES ('M1', 'D3')
  10. INSERT INTO datos VALUES ('M2', 'D1')
  11. INSERT INTO datos VALUES ('M3', 'D4')
  12. INSERT INTO datos VALUES ('M5', 'D1')
  13.  
  14.  
  15. CREATE FUNCTION dbo.fn_return_nombre(@dato2 VARCHAR(MAX))
  16. RETURNS VARCHAR(MAX)  WITH schemabinding  
  17. AS
  18. BEGIN
  19. DECLARE @groups AS VARCHAR(MAX)
  20. SELECT @groups=COALESCE(@groups + ', ', '') + dato2 FROM dbo.datos
  21. WHERE dato1=@dato2
  22. RETURN @groups
  23. END
  24.  
  25.  
  26. SELECT dato1,dbo.fn_return_nombre(dato1) FROM datos
  27. GROUP BY dato1

A y claro faltaria hacer el left join a la tabla maestro para que aparezca el M4 jejejeje :P

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me