Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2008, 10:08
watxu
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Una SELECT para nota.

Vale, me pongo un 10 a mi mismo.
Usando una join normal y sin subselect
SELECT DISTINCT KH.KnowHowID,
KH.AddedBy,
KH.AddedDate,
KH.AddedByIP,
KH.ModifiedBy,
KH.ModifiedDate,
KH.ModifiedByIP,
KH.Title,
KH.Text,
KH.CategoryID,
Cat.Title AS CategoryTitle

FROM DHLKB_KnowHow KH,
DHLKB_Categories Cat,
DHLKB_KnowHow_Shares KHS,
DHLKB_UserWorkGroups UWG
WHERE KH.CategoryID = Cat.CategoryID AND
KH.KnowHowID = KHS.KnowHowID AND
LOWER(UWG.UserName) = LOWER(@UserName) AND
KHS.WorkGroupID = UWG.WorkGroupID AND
Cat.CategoryID = @CategoryID
Esto sin Distinct me devuelve filas como
KnowHowID Titulo Bla bla Compartido con...

1 Titulo1 21
1 Titulo1 22
2 Titulo2 22
3 Titulo3 21
3 Titulo3 23


El usuario esta en los grupos 21,22 y 23
El conocimiento 1 está compartido con los grupos 21,22 y 25, pero como coinciden 2, pues pongo 2 registros...aunque sean iguales
El conociemiento 2 esta compartido con los grupos 22 y 47...como coincide con el 22, pues pongo 1 registro
El conocimiento 3 está compartido con los grupos 12 y 23....como coinciden 2 grupos, los pongo

No se que os parece...teniendo en cuenta que el texto es un campo NVARCHAR(MAX) y puede tener que hacer comparaciones muy largas consigo mismo.