Subconsulta

19/11/2003 - 11:13 por Miguel Angel | Informe spam
Hola tengo una tabla llamada Noticias, en ella tengo un campo de alberga el
cuerpo de la noticia del tipo text, el proveedor de Internet Arsys no
permite creación de búsquedas de texto, lo que complica un poco la busqueda
de texto dentro de ese campo...

Tengo un formulario el cual recoge las palabras clave entonces si se
selecciona la opción Alguna de las palabras tengo que montar el sq para
poder buscar por palabras sería tal que así select * from noticias where
texto_noticia like '%PalabraClave1%' OR texto_noticia like
'%PalabraClave2%', etc.. así busco que el cuerpo de la noticia contenga
alguna de las palabras clave introducidas. El problema lo tengo si esa
consulta la quiero filtar por fecha y categoria que también existe esa
posibilidad, al poner OR ya no me respeta las categorias o fecha..He
intentado con Subconsultas con IN o EXIST pero tampoco me sale..Este es el
último intento:
select IdNoticia,Titulo,Categorias,Redactor,Fecha_Alta from
Noticias where Categorias IN(Select Categorias from Noticias where
Categorias=1)
AND
Texto_Noticia like '%Villena%' OR texto_noticia like '%%'

Estaría agradecido si alguien me puede ayudar...

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
19/11/2003 - 13:32 | Informe spam
Hola migel!! el or es una condicion logica q dice: Esto o Esto, no Esto y
ESto (creo q es lo q buscas)


select * from noticias where
(texto_noticia like '%PalabraClave1%' OR texto_noticia like
'%PalabraClave2%') AND FECHA >='10-1-2003'

algo asi deberias armar (con AND) yo ademas le agrego parentesis por una
cuestion de orden nomas

Un saludo
Accotto Maximiliano Damian
Fundicion San Cayetano S.A
4002 - 4010
Gerente de Sistemas

"Miguel Angel" escribió en el mensaje
news:bnHub.3278$
Hola tengo una tabla llamada Noticias, en ella tengo un campo de alberga


el
cuerpo de la noticia del tipo text, el proveedor de Internet Arsys no
permite creación de búsquedas de texto, lo que complica un poco la


busqueda
de texto dentro de ese campo...

Tengo un formulario el cual recoge las palabras clave entonces si se
selecciona la opción Alguna de las palabras tengo que montar el sq para
poder buscar por palabras sería tal que así select * from noticias where
texto_noticia like '%PalabraClave1%' OR texto_noticia like
'%PalabraClave2%', etc.. así busco que el cuerpo de la noticia contenga
alguna de las palabras clave introducidas. El problema lo tengo si esa
consulta la quiero filtar por fecha y categoria que también existe esa
posibilidad, al poner OR ya no me respeta las categorias o fecha..He
intentado con Subconsultas con IN o EXIST pero tampoco me sale..Este es el
último intento:
select IdNoticia,Titulo,Categorias,Redactor,Fecha_Alta from
Noticias where Categorias IN(Select Categorias from Noticias where
Categorias=1)
AND
Texto_Noticia like '%Villena%' OR texto_noticia like '%%'

Estaría agradecido si alguien me puede ayudar...

Muchas gracias


Respuesta Responder a este mensaje
#2 dbuendiab
19/11/2003 - 20:32 | Informe spam
"Miguel Angel" wrote in message news:<bnHub.3278$...
Hola tengo una tabla llamada Noticias, en ella tengo un campo de alberga el
cuerpo de la noticia del tipo text, el proveedor de Internet Arsys no
permite creación de búsquedas de texto, lo que complica un poco la busqueda
de texto dentro de ese campo...

Tengo un formulario el cual recoge las palabras clave entonces si se
selecciona la opción Alguna de las palabras tengo que montar el sq para
poder buscar por palabras sería tal que así select * from noticias where
texto_noticia like '%PalabraClave1%' OR texto_noticia like
'%PalabraClave2%', etc.. así busco que el cuerpo de la noticia contenga
alguna de las palabras clave introducidas. El problema lo tengo si esa
consulta la quiero filtar por fecha y categoria que también existe esa
posibilidad, al poner OR ya no me respeta las categorias o fecha..He
intentado con Subconsultas con IN o EXIST pero tampoco me sale..Este es el
último intento:
select IdNoticia,Titulo,Categorias,Redactor,Fecha_Alta from
Noticias where Categorias IN(Select Categorias from Noticias where
Categorias=1)
AND
Texto_Noticia like '%Villena%' OR texto_noticia like '%%'

Estaría agradecido si alguien me puede ayudar...

Muchas gracias



El AND tiene precedencia sobre el OR, en el caso de tener que mezclar
tienes que tener cuidado y usar paréntesis en caso de duda. En el caso
que expones, la falta de parentesis dice que estás buscando noticias
que
1.- sean de categorias = 1 o contengan el texto Villena
2.- o bien contengan el otro texto (independientemente de la
categoría)

Para que la categoría afecte a todo el conjunto de claúsulas OR sobre
texto_noticia este grupo debería ir entre paréntesis:

select IdNoticia,Titulo,Categorias,Redactor,Fecha_Alta from
Noticias where
( Categorias =1 )
AND
( Texto_Noticia like '%Villena%' OR texto_noticia like '%LoQueSea%' )


Diego Buendia
Barcelona Spain
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida