ultima consulta...

xfanatico
31 de Octubre del 2002
4 tablas :

Estudiante ( nombre, cod_hab )
Habitacion ( cod_hab, cod_dpto )
Departamento ( cod_dpto, cod_edif )
Edificio ( cod_edif )

Y el problema dice : Buscar las "habitaciones" que se encuentren "vacias".

marc
31 de Octubre del 2002
Quien hace el problema, tu o nosotros?
porque pones lo que crees y los demas te intentamos corregir?
Por cierto, funciono la respuesta que te di?

xfanatico
31 de Octubre del 2002
el anterior funciona perfectamente ...

el problema es que es dificil seleccionar solo las habitaciones sin estudiantes...

tendria q buscar todas las habitaciones, luego buscar las habitaciones con estudiantes ... y restar...no se si hay alguna forma mas sencilla

gracias

marc
31 de Octubre del 2002
Tienes que utilizar "not in" o "not exists".

select cod_hab
from habitaciones

te da todas las habitaciones y ahora como tu decias, tienes que restar las que estan llenas

select hab.cod_hab
from habitaciones hab
where hab.cod_hab not in (select distinct cod_hab from estudiantes)

o

select hab.cod_hab
from habitaciones hab
where not exists (select cod_hab from estudiantes where cod_hab = hab.cod_hab)