SQL - Consulta SQL

   
Vista:

Consulta SQL

Publicado por Fernanda (6 intervenciones) el 28/02/2017 19:26:59
Hola, mi nombre es Nicol y necesito ayuda con una consulta que no se como resolverla.
Para la consulta tengo en mi base de datos que seria para un hotel una tabla personal que dentro de ella estan todos los trabajadores se diferencian por cargo (mucama,recepcionista, administrador...), la clave primaria de esta tabla es idpersonal.
Luego tengo una tabla reservas en la cual hay un campo idmucama y otro estado .
Lo que necesito hacer es lo siguiente: Un listado de todas las mucamas que no estén en mas de 3 reservas con estado confirmada.

Yo intente lo siguiente pero no funcionó
("SELECT idpersonal FROM personal WHERE cargo = 'mucama'" ("SELECT idmucama, count(idmucama)FROM reservas where estado 'confirmada' GROUP BY idmucama having count (idmucama) < 3'")

creo que debería comparar idpersonal con idmucama pero no se en que momento hacerlo
si alguien pudiera ayudarme le agradecería muchísimo ya que tengo un examen en una semana.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Consulta SQL

Publicado por Isaias (933 intervenciones) el 28/02/2017 19:35:02
Nicol

¿Que motor de base de datos estas ocupando?

Tu primer query, te localiza a TODAS la "mucamas"

Solo te faltaria preguntar, cual de ellas esta en la segunda condicion, que este en mas de 3 reservas, que ya lo haces en el segundo query.

1
2
3
4
5
SELECT idpersonal FROM personal WHERE cargo = 'mucama'
EXISTS -- Unes tu primera consulta, con la segunda
(SELECT idmucama, count(idmucama) FROM reservas where estado 'confirmada'
AND idmucama = idpersonal
GROUP BY idmucama having count (idmucama) >= 3)

Nota: Este query funcionaria muy bien en SQL Server, no se que motor de base de datos estas ocupando, no entiendo porque tantas comillas y parentesis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Consulta SQL

Publicado por Fernanda (6 intervenciones) el 28/02/2017 19:47:32
Muchas Gracias por la respuesta, estoy usando SQL server . Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta SQL

Publicado por Nicol (6 intervenciones) el 28/02/2017 21:24:38
Para MySql que es lo que cambiaría?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Consulta SQL

Publicado por Isaias (933 intervenciones) el 01/03/2017 19:23:04
Prueba el codigo en MYSQL, si no funciona, vienes y nos cuentas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta SQL

Publicado por Fernanda (6 intervenciones) el 02/03/2017 06:27:24
Me ha funcionado el código ya lo probé en mysql y funciona. El otro problema que tengo ahora es que no me acepta dos consultas en una misma linea java netbeans en un execute query . Lo que necesito es un arrayList y lo que no se es si tengo que hacer dos query
o se puede hacer un procedimiento de almacenado. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Consulta SQL

Publicado por Isaias (933 intervenciones) el 02/03/2017 23:16:08
¿Y que tal una VISTA?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar