Tema: Consulta SQL
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2011, 01:13
facer03
 
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Consulta SQL

Hola a todos, este es mi primer ves en esta comunidad y soy novato asi que por favor disculpen si este post esta repetido.

Bueno mi problema es el siguiente: tengo tres tablas
  • restaurante
  • presta: contiene información de los servicios prestados por el restaurante (7 servicios)
  • ofrece: contiene información de los tipos de comida ofrecidos por el restaurante (20 tipos de comida)

La consulta que necesito, me debe traer los restaurantes que para una lista dada (la lista puede tener uno o mas tipos de comida, para el caso de la tabla ofrece, o uno o mas servicios para el caso de presta) me traiga solo los restaurantes que cumplan con todos los id's de servicios o comidas contenidos en la lista.

La consulta que tengo es esta, para una lista ejemplo (1,2,3):

SELECT DISTINCT(R.id), nombre, correo, ...
FROM restaurante R, presta P
WHERE R.id = P.servicio_id
AND P.servicio_id IN (1,2,3)

La idea es que me traiga los restaurantes que presten los tres servicios, pero me trae también los que prestan uno de los servicios o combinaciones.

Esta misma consulta la estoy usando para cocina. También intente traer los restaurantes que presten un listado de servicios y un listado de tipos de cocina pero el resútado fue el mismo.

SELECT DISTINCT (
R.id
), R.nombre

FROM restaurante R, presta P, servicios S, ofrece O

WHERE P.servicio_id in (1,3,7)

AND O.tcocina_id in (2,5,9,7)

AND R.id = P.restaurante_id

AND R.id = O.restaurante_id

De antemano agradezco su colaboración.