Tema: consulta sql
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2005, 11:16
pedroinfante
 
Fecha de Ingreso: marzo-2002
Mensajes: 85
Antigüedad: 22 años, 2 meses
Puntos: 1
Pregunta consulta sql

Que tal amigos, tengo un problema con sql....

tengo 1 tabla con los siguientes campos:
palabra, idlibro, clave
en palabra, todos los registros es de 1 sola palabra
idlibro, es el # del libro
y clave, es un numero entre 1 y 5

les pongo aqui algunos datos de la tabla:

palabra idlibro clave
JOHN 1 1
HILBURN 1 1
JOHNNY 1 1
JOHNSON 1 2
DAVID 1 2
MEXICO 1 3
PRENTICEHALL 1 3
HILL 2 3
CIRCUITOS 2 4
ELECTRONICOS 2 4
ELECTRONICA 3 1
CALVERT 3 1
MCCAUSLAND 3 1

lo que quiero hacer es una consulta donde me diga cual es el libro que tiene "circuitos electronicos", por ejemplo...
no quiero usar subconsultas....
asi que, quiero una consulta que verifique todas las opciones en donde esten las 2 palabras, pero solo me regrese los id's que se repiten, por contener ambas palabras....
segun yo, deberia ser una consulta de este tipo:

SELECT indice.idlibro
FROM indice
WHERE indice.palabra In ('CIRCUITOS','ELECTRONICOS') AND indice.clave=4
HAVING Count(indice.idlibro)>=2;

pero no me funciona... me regresa todos los registros que tengan solo 1 de las 2 palabras... como puedo hacer para decirle que devuelva el id que empate con ambas palabras???

quiero evitar subconsultas, porque pueden ser mas de 2 palabras, lo que haria que tuviera que usar muchas subconsultas anidadas...

gracias de antemano por su ayuda