Ubicación de consultas no asignadas

Hola, necesitaría saber como realizar la siguiente consulta... Tengo dos tablas, UbicacionesTotales y UbicacionesOcupadas
en UT (UbicacionesTotales) tengo los sig. Campos SECTOR, NUMERO, FILA, ASIENTO
y en UO (UbicacionesOcupadas) tengo los sig. SECTOR, NUMERO, FILA, ASIENTO, yo voy guardando en UbicacionesOcupadas todas las ubicaciones que voy asignando, entonces, en una lista quiero traer todas las ubicaciones que no hayan sido asignadas, en ubicacionesocupadas también tengo un campo de fecha, pero eso lo pondría en la clausula WHERE, por el momento necesitaría saber que Query tengo que escribir para realizar eso, ¿me lo podrías facilitar por favor?
Muchas gracias

1 Respuesta

Respuesta
1
Primero te recomiendo, si puedes volver a diseñar las tablas, que unas ambas tablas en la de UT a la que añadas un campo de ocupado=1 u ocupado=0 según esté el asiento ocupado o no. Entonces sería fácil saber las ubicaciones no ocupadas con solo hacer un query de aquellos campos que tengan el valor ocupado=0.
De todas formas si ya no puedes cambiar el diseño de las tablas te diré que lo que debes hacer es una comprobación de valores no presentes en una tabla. Cuando necesitamos saber que valores de una tabla no están presentes en otra, usamos una LEFT JOIN entre esas dos tablas y buscamos las filas de la segunda tabla en las que NULL está seleccionado.
De esta forma la consulta quedaría:
-----------
select UT.* from UT left join UO ON
(UT.SECTOR = UO.SECTOR) AND
(UT.NUMERO = UO.NUMERO) AND
(UT.FILA = UO.FILA) AND
(UT.ASIENTO = UO.ASIENTO)
where
(Uo. Sector is null) and
(Uo. Numero is null) and
(Uo. Fila is null) and
(Uo. Asiento is null)
-----------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas