Título: problema con consulta Publicado por: m@o_614 en 30 Mayo 2014, 03:32 am Saludos tengo las siguientes tablas
BAR(id,nombre) CERVEZA(id,nombre) CLIENTE(id,nombre) SIRVE(idBAR,idCERVEZA) ASISTE(idCLIENTE,idBAR) GUSTA(idCLIENTE,idCERVEZA) y tengo la consulta que dice nombrar los nombres de las cervezas que no se sirven en el bar 'TARROS' lo que llevo es esto: SELECT c.nombre FROM BAR AS b, CERVEZA AS c, SIRVE AS s WHERE c.id=s.idCERVEZA AND b.id=s.idBAR AND b.nombre='TARROS' pero a partir de ahi ya no se como seguir gracias Título: Re: problema con consulta Publicado por: elezekiel en 30 Mayo 2014, 04:53 am Creaste la consulta y te une las cervezas que se sirven en el Bar, para hacer las que NO se sirven en el bar tenes que hacer asi
Código: Select idCerveza from Sirve Adaptalo a tu codigo y funcionara. Lo que hace es comparar el id del bar que se selecciona y le pide que muestre el id de la cerveza siempre y cuando NO coincida con el ID del Bar(en tabla SIRVE). PD: cuando intentas "acortar" los nombres de tablas al inicio de la consulta la hace mas tediosa entender, es un consejo nomas! Saluddddd Título: Re: problema con consulta Publicado por: m@o_614 en 30 Mayo 2014, 06:56 am muchas gracias elezekiel por tu respuesta, una ultima duda si la consulta dice:
Combinando una proyección y un producto cartesiano listar los nombres de todas las personas a las que les guste la cerveza 'HEINEKEN'. yo si se lo que es un producto cartesiano pero no se a que se refiere con proyeccion, entonces hice lo siguiente SELECT p.nombre FROM CLIENTE AS p, CERVEZA AS c, GUSTA AS g WHERE g.idCLIENTE=p.id AND g.idCERVEZA=c.id AND c.nombre = 'HEINEKEN'; pero no se si estoy en lo correcto de nuevo gracias Título: Re: problema con consulta Publicado por: elezekiel en 30 Mayo 2014, 17:06 pm La proyeccion es cuando seleccionas x cantidad de registros de una tabla, es decir, cuando colocas:
Código: Select * From BAR Ahi no haces proyeccion, la proyeccion la haces asi: Código: Select idCerveza from Sirve Pasandotelo en limpio es cuando seleccionas un campo(atributo) o varios (de la relacion en cuestion) pero no usas el "global" (*) No se si me entendiste.. ya de ahi podes finalizar tu consulta! Saluuddd |