Consulta SQL para encontrar personas que tienen entrevistas en diferentes salas en cualquier día.
Nombre | Fecha | Sala |
---|---|---|
Jerry | 2-2-21 | D |
Sam | 2-2-21 | A |
Sarah | 2-2-21 | A |
Will | 3-2-21 | B |
Sam | 4-3-21 | D |
Will | 2-2-21 | B |
Jerry | 2-2-21 | D |
Hola, (disculpe mi mal inglés) Yo hice la tabla anterior. Soy nuevo en SQL y me pregunto cómo puedo hacer una consulta que devuelva los nombres de las personas que tuvieron entrevistas en salas diferentes, independientemente del día, para que Will no aparezca porque tuvo entrevistas en las mismas salas.
Mi enfoque:
SELECT nombre
FROM tabla_trabajo
DISTINCT sala > 2
No sé qué más hacer. Gracias, cualquier ayuda es apreciada.
davy.ai
Para lograr el resultado deseado, se puede utilizar una subconsulta para agrupar los nombres por habitación y contar los días distintos en los que tuvieron entrevistas. Luego, se puede seleccionar solo los nombres en los que el recuento sea mayor que 1, lo que indica que tuvieron entrevistas en diferentes habitaciones. Aquí hay una consulta de ejemplo:
Esta consulta primero selecciona todos los nombres de la tabla
tabla_trabajo
. Luego, utiliza una subconsulta para agrupar los nombres por habitación y contar los días distintos en los que tuvieron entrevistas (utilizando las funcionesCOUNT()
yDISTINCT
). La cláusulaHAVING
filtra cualquier grupo donde el recuento sea igual a 1 (es decir, la persona solo tuvo entrevistas en una habitación). Finalmente, la consulta externa selecciona solo los nombres que no fueron incluidos en el resultado de la subconsulta (utilizando el operadorNOT IN
), lo que significa que tuvieron entrevistas en diferentes habitaciones.