Ayuda con una SQL

17/11/2004 - 10:56 por afgomez | Informe spam
Buenos dias!

Estoy haciendo una aplicacion web y la tengo parada porque no soy
quien a hacer una sql para esta consulta(haber si lo explico bien):

Tengo 2 tablas, patentes y pat_tecnologias, la primera con los campos
numPatente, autor y la segunda con los campos numPatente e
idTecnologia.
El tema es que una patente puede pertenecer a varias tecnologias y en
la aplicacion se pueden buscar patentes seleccionando de una lista de
tecnologias tantas como se quiera, y la sql debe devolver las patentes
que minimamente pertenecen a las tecnologias seleccionadas por el
usuario.

¿si? Pues no tengo ni idea de como hacerla ya que no se cuantas
tecnologias va a seleccionar le cliente. El año pasado tuve una
asignatura donde nos enseñaron sql, pero o no me quede con esta parte
o no nos pusieron en este caso.

Si alguien me ayuda...Gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
17/11/2004 - 11:41 | Informe spam
Tienes que usar la cláusula IN, por ejemplo:

SELECT numpatente, autor, ..., campoN
FROM patentes p INNER JOIN pat_tecnologias t ON
p.idtecnologia=t.idtecnologia
WHERE t.idtecnologia IN (id1, id2, id3,...idN)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Aitor" escribió en el mensaje
news:
Buenos dias!

Estoy haciendo una aplicacion web y la tengo parada porque no soy
quien a hacer una sql para esta consulta(haber si lo explico bien):

Tengo 2 tablas, patentes y pat_tecnologias, la primera con los campos
numPatente, autor y la segunda con los campos numPatente e
idTecnologia.
El tema es que una patente puede pertenecer a varias tecnologias y en
la aplicacion se pueden buscar patentes seleccionando de una lista de
tecnologias tantas como se quiera, y la sql debe devolver las patentes
que minimamente pertenecen a las tecnologias seleccionadas por el
usuario.

¿si? Pues no tengo ni idea de como hacerla ya que no se cuantas
tecnologias va a seleccionar le cliente. El año pasado tuve una
asignatura donde nos enseñaron sql, pero o no me quede con esta parte
o no nos pusieron en este caso.

Si alguien me ayuda...Gracias.
Respuesta Responder a este mensaje
#2 afgomez
18/11/2004 - 13:25 | Informe spam
"Carlos Sacristan" <csacristan ARROBA mvps.org> wrote in message news:...
Tienes que usar la cláusula IN, por ejemplo:

SELECT numpatente, autor, ..., campoN
FROM patentes p INNER JOIN pat_tecnologias t ON
p.idtecnologia=t.idtecnologia
WHERE t.idtecnologia IN (id1, id2, id3,...idN)

Un saludo



Carlos creo que me has entendido mal: tengo que seleccionar las
patentes que pertenezcan minimamente a todas las tecnologias
seleccionadas por el usuario. La clausula IN me devuelve todas las que
pertenezcan a cualquiera de los id que ponga en el IN.

he probado con select p.numeroPatente from tb_patente p ,
tb_pat_tecnologias t
where p.numeroPatente=t.numeroPatente AND
t.idTecnologia = 2 AND
t.idTecnologia = 5 AND
t.idTecnologia = 7 .
pero no funciona.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida