- Código: Seleccionar todo
select zona, fila, numero, nom
from espectacles esp, entrades e
where esp.codi_recinte=e.codi_recinte
and nom like 'El país de les Cent Paraules'
and NOT EXISTS (select zona, fila, numero
from seients s, espectacles esp
where esp.codi_recinte=s.codi_recinte
and nom like 'El país de les Cent Paraules'
)
order by zona
Al ver esta consulta me surge una duda respecto al origen de "nom" ya que no indicas con ningun prefijo a que tabla pertenece.
Estaría bien saber que campos tiene cada tabla para no tener ningun tipo de dudas a la hora de responderte, sin embargo entiendo que en la consulta y en la subconsulta "non" hace referencia a la misma tabla (tabla espectacles).
Otra cosa a comentar, no se que SGBD utilizas, pero independientemente del que utilizas al no poner ningún caracter comodín en la expresion del 'LIKE' solo te devolverá las que coincidan exactamente, es decir esa expresión equivale a un '='.
En Oracle: esp.nom like '%Cent Paraules%'
En Access: esp.nom like "*Cent Paraules*" (supongo que en MSSqlServer tambien)
Si tu SGBD es otro busca cual es el carácter comodín.
Respecto a lo que pedías.... "sacar las filas de seients que no estan en la tabla entrades"
Si e.codi_recinte es la clave primaria de la tabla 'espectacles' y las tablas 'entrades' y 'seients' tienen ambas ese campo como clave foránea a 'espectacles' puedes hacer algo tan sencillo como
- Código: Seleccionar todo
select *
from seients s
where s.codi_recinte not in (select distinct e.codi_recinte from entrades e)
and nom like '%Cent Paraules%'
Si esto no resuelve tu problema indica todos los campos de tus tablas y te propondré otra solución.