hola buenas noches tengo una duda
tengo unas tablas que eh creado el error es que qiero q me muestren las horas libres de cada mesa pero no me sale 
 
create TABLE horarios_(
id_hora int primary key,
horas time
)
 
CREATE TABLE mesa_(
id_mesa int primary key,
nombre varchar(10),
)
 
CREATE TABLE reservaciones_(
id_rese int primary key,
mesa_id INT,
hora_entrada time,
hora_salida time,
fecha varchar(20)
)
 
 
INSERT INTO horarios_(id_hora,horas) values (1,'08:00')
INSERT INTO horarios_(id_hora,horas) values (2,'08:30')
INSERT INTO horarios_(id_hora,horas) values (3,'09:00')
INSERT INTO horarios_(id_hora,horas) values (4,'09:30')
INSERT INTO horarios_(id_hora,horas) values (5,'10:00')
INSERT INTO horarios_(id_hora,horas) values (6,'10:30')
INSERT INTO horarios_(id_hora,horas) values (7,'11:00') 
INSERT INTO horarios_(id_hora,horas) values (8,'11:30')
INSERT INTO horarios_(id_hora,horas) values (9,'12:00')
 
 
INSERT INTO mesa_ values (1,'mesa1')
INSERT INTO mesa_ values (2,'mesa2')
INSERT INTO mesa_ values (3,'mesa3')
 
INSERT INTO reservaciones_ values (1,3,'08:00','09:00',convert(varchar(20),GETDATE()  ,101))
INSERT INTO reservaciones_ values (2,3,'11:00','12:00',convert(varchar(20),GETDATE()  ,101))
 
cuando pongo esta consulta 
select DISTINCT horas from horarios_,reservaciones_
where  CONVERT(VARCHAR(8),horas,108)  not between hora_entrada and hora_salida and mesa_id=3
 
me bota  las horas disponibles pero de una sola mesa  cuando le ingreso 
este insert de nuevo con el mismo codigo de mesa pero con diferentes horas
INSERT INTO reservaciones_ values (2,3,'11:00','12:00',convert(varchar(20),GETDATE()  ,101))
 
me bota todas las horas reservadas lo que qiero es q me muestre todas las horas disponibles ya use distintic no qiero q me repita los datos gracias x su ayuda 
  
 


