Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/12/2008, 06:35
programadorvip
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: problemas con containstable y tíldes

HOLA GRACIAS POR TU RESPUESTA, LO QUE SUCEDE ES QUE LOS CAMPOS YA LOS CAMBIE POR EL COLLATE Latin1_General_CI_AS YO HAGO EL MATCH EN LA SENTENCIA CONTAINSTABLE POR EJEMPLO:


FROM T_TIE_PRODUCTO PRO WITH(NOLOCK)
INNER JOIN @vtbl_Descendencia c on c.PRO_ID=PRO.PRO_ID
INNER JOIN CONTAINSTABLE (T_TIE_PRODUCTO,*, 'ROLDAN') AS KEY_TBL
ON PRO.PRO_ID = KEY_TBL.[KEY]


Y NO ME DEVUELVE LOS REGISTROS "Roldan, ROLDAN, Roldán, ROLDÁN" ALGUNA SUGERENCIA?

TE ADJUNTO MI CODIGO SQL:

Código:
alter  PROCEDURE dbo.PW_TIE_L_BusquedaProducto   -- dbo.PW_TIE_L_BusquedaProducto 0, 1, '-1', -1, 0, 'ROLDÁN', ''  
@piint_AreCodigo tinyint,  
@piint_TipoCodigo tinyint,  
@pivch_Identificador varchar(50),  
@piint_ProId int,  
@piint_NivelMaximo tinyint,  
@pivch_Busqueda varchar(255),  
@pivch_BusquedaHtmlEnc varchar(500)  
AS  
SET NOCOUNT ON  
DECLARE @vint_Hijos int, @vint_Hijos1 int, @vint_ProIdPadre int  
  
IF @piint_TipoCodigo<>0  
 SET @piint_ProId=(SELECT TOP 1 PRO_ID FROM T_TIE_PRODUCTO WITH(NOLOCK) WHERE IDENTIFICADOR=@pivch_Identificador AND ARE_CODIGO=@piint_AreCodigo)  
ELSE  
 IF @pivch_Identificador='-1' OR @piint_ProId=-1  
  SET @piint_ProId=NULL  
  
SET @piint_ProId=ISNULL(@piint_ProId,-1)  
  
SELECT @vint_Hijos = (SELECT COUNT(PRO_ID) FROM T_TIE_PRODUCTO WITH(NOLOCK)  
   WHERE ISNULL(PRO_ID_PADRE,-1)= @piint_ProId --AND JER_VISIBLE_MENU='S'  
         AND PRO_ESTADO<>'I' AND ARE_CODIGO=@piint_AreCodigo)  
  
IF @vint_Hijos>0  
   BEGIN  
 SET @vint_Hijos1=@vint_Hijos  
 SET @vint_ProIdPadre=(SELECT TOP 1 PRO_ID_PADRE FROM T_TIE_PRODUCTO WITH(NOLOCK) WHERE PRO_ID=@piint_ProId)  
  
 DECLARE @vtbl_Descendencia  
 TABLE (PRO_ID_PADRE int, PRO_ID int, PROFUNDIDAD tinyint)  
   
 INSERT INTO @vtbl_Descendencia  
 SELECT A.PRO_ID_PADRE, A.PRO_ID, 1  
 FROM T_TIE_PRODUCTO A WITH(NOLOCK)  
 WHERE ISNULL(PRO_ID_PADRE,-1) = @piint_ProId   
  AND A.PRO_ESTADO<>'I' --AND A.PRO_TIPO<>'C'  
  AND A.ARE_CODIGO=@piint_AreCodigo  
  
 WHILE @@ROWCOUNT>0  
 BEGIN  
  INSERT INTO @vtbl_Descendencia  
      SELECT A.PRO_ID_PADRE, A.PRO_ID, B.PROFUNDIDAD+1  
      FROM T_TIE_PRODUCTO A WITH(NOLOCK)  
      INNER JOIN @vtbl_Descendencia B ON B.PRO_ID=A.PRO_ID_PADRE  
      WHERE A.ARE_CODIGO=@piint_AreCodigo  
   AND A.PRO_ESTADO<>'I' --AND A.PRO_TIPO<>'C'  
   AND NOT EXISTS (SELECT D.PRO_ID FROM @vtbl_Descendencia D WHERE D.PRO_ID=A.PRO_ID)  
 END  
  
 IF @pivch_BusquedaHtmlEnc<>@pivch_Busqueda AND LEN(@pivch_BusquedaHtmlEnc)>0  
  SET @pivch_Busqueda = '('+@pivch_Busqueda+') OR ('+@pivch_BusquedaHtmlEnc+')'  
  
 SELECT  PRO.PRO_ID,  
  PRO.ENT_ID,   
  PRO_ID_PADRE = ISNULL(PRO.PRO_ID_PADRE,-1),  
  PRO_NOMBRE_PADRE=ISNULL((SELECT PRO_NOMBRE FROM T_TIE_PRODUCTO WITH(NOLOCK) WHERE PRO_ID = PRO.PRO_ID_PADRE),''),  
  PRO_CODIGO = ISNULL(PRO.PRO_CODIGO,''),  
  PRO.PRO_NOMBRE,   
  PRO.PRO_TIPO,   
  PRO_DESTAQUE = ISNULL(PRO.PRO_DESTAQUE,'N'),  
  PRO_MONEDA = ISNULL(PRO.PRO_MONEDA,0),  
  PRO_MONEDA_SIMBOLO = (SELECT MON_SIMBOLO FROM T_TIE_MONEDA WITH(NOLOCK) WHERE MON_CODIGO = PRO.PRO_MONEDA),  
  PRO_PRECIO = ISNULL(PRO.PRO_PRECIO,0),  
  PRO_BREVE_DESCRIPCION = ISNULL(PRO.PRO_BREVE_DESCRIPCION,''),  
  PRO_RUTA_IMAGEN_ASOCIADA = ISNULL(PRO.PRO_RUTA_IMAGEN_ASOCIADA,''),  
  PRO_HABILITA_OFERTA= ISNULL(PRO.PRO_HABILITA_OFERTA,'N'),  
  PRO_PRECIO_OFERTA= ISNULL(PRO.PRO_PRECIO_OFERTA,0),  
  PRO_STOCK_ACTUAL = ISNULL(PRO.PRO_STOCK_ACTUAL,0),  
  PRO_HABILITA_STOCK = ISNULL(PRO.PRO_HABILITA_STOCK,'N'),  
  KEY_TBL.RANK  
 FROM T_TIE_PRODUCTO PRO WITH(NOLOCK)  
  INNER JOIN @vtbl_Descendencia c on c.PRO_ID=PRO.PRO_ID  
  INNER JOIN CONTAINSTABLE (T_TIE_PRODUCTO,*, @pivch_Busqueda) AS KEY_TBL  
     ON PRO.PRO_ID = KEY_TBL.[KEY]  
 WHERE (@piint_NivelMaximo=0 OR PROFUNDIDAD<=@piint_NivelMaximo)   
  AND PRO.ARE_CODIGO = @piint_AreCodigo   
  AND PRO.PRO_ESTADO<>'I' AND PRO.PRO_TIPO<>'C'  
 ORDER BY KEY_TBL.RANK DESC  
  
   END  
  
ELSE  
 SELECT  PRO_ID,   
  PRO_ID_PADRE,  
  PRO_NOMBRE_PADRE='',  
  PRO_CODIGO,  
  PRO_NOMBRE,   
  PRO_TIPO,   
  PRO_DESTAQUE,  
  PRO_MONEDA,  
  PRO_MONEDA_SIMBOLO='',  
  PRO_PRECIO,  
  PRO_BREVE_DESCRIPCION,  
  PRO_RUTA_IMAGEN_ASOCIADA,  
  RANK=''  
 FROM T_TIE_PRODUCTO  
 WHERE @piint_ProId=-999