es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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:

    SELECT nombre
    FROM tabla_trabajo
    WHERE nombre NOT IN (
      SELECT nombre
      FROM tabla_trabajo
      GROUP BY nombre, habitación
      HAVING COUNT(DISTINCT fecha) = 1
    )
    

    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 funciones COUNT() y DISTINCT). La cláusula HAVING 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 operador NOT IN), lo que significa que tuvieron entrevistas en diferentes habitaciones.

Comments are closed.