AnswerBun.com

¿Como obtener un solo registro cuando "Employee_ID" y "Name" se repiten, pero las columnas "Time" y "temperatureInf" son diferentes?

Stack Overflow en español Asked on January 1, 2022

¡Hola a todos!
Como podrán ver, soy novato en esto de SQL Server, ya que me parece que esta consulta es muy sencilla, pero la verdad ya me he atorado un poco con este tema. El problema es el siguiente:

1.- De una tabla llamada "Allevent", que cuenta con columnas Employee_ID, Name, Time y temperatureInf, necesito hacer una consulta que me traiga un solo registro; ya he intentado varias consultas, desde el uso del "distinct", filtros con "where" y uso del "group by", pero mi conocimiento me limita a entender que más podría hacer, miren aquí una imagen de mi resultado, el cual ya me entrega parte de lo que deseo, sin embargo aun me dúplica registros, yo solo quiero uno sin importar si es el primero, segundo o ultimo de los repetidos.

introducir la descripción de la imagen aquí

Como ven al hacer mi consulta se siguen repitiendo los registros, pero yo solo quiero uno solo sin importar cual sea.

¡De antemano muchas gracias comunidad!

One Answer

Una de las soluciones que puedes plantear es numerar filas.

El escenario que planteas:

Create table dbo.Allevent17 
(
  Employee_ID int
, Name varchar(100)
, Time datetime2
, temperatureinfo decimal(4,2)
, Overtemperature varchar(100)
);
GO
insert into dbo.Allevent17(Employee_ID, Name, Time, temperatureinfo, Overtemperature)
values
(10,'ALBERTO TRUJILLO', '20200711 07:35', 35.8, 'normal'),
(10,'ALBERTO TRUJILLO', '20200711 07:35', 35.9, 'normal'),
(13,'DANIEL CORDERO', '20200711 06:45', 35.8, 'normal'),
(13,'DANIEL CORDERO', '20200711 06:46', 35.9, 'normal'),
(13,'DANIEL CORDERO', '20200711 07:28', 35.8, 'normal'),
(13,'DANIEL CORDERO', '20200711 07:28', 35.9, 'normal'),
(13,'DANIEL CORDERO', '20200711 07:50', 35.7, 'normal'),
(13,'DANIEL CORDERO', '20200711 07:50', 36.1, 'normal'),
(14,'ABEL RIVERA', '20200711 07:35', 36, 'normal'),
(14,'ABEL RIVERA', '20200711 07:35', 36.2, 'normal'),
(15,'JOSE DE JESUS', '20200711 07:28', 35.8, 'normal');
GO

Ahora podemos utilizar una tabla de expresión común para "recoger" los registros de la tabla y numerarlos particionados por el código de empleado.

WITH CTE
     AS (SELECT EMPLOYEE_ID
              , NAME
              , Time
              , temperatureinfo
              , Overtemperature
              , ROW_NUMBER() OVER (PARTITION BY EMPLOYEE_ID ORDER BY TIME) AS ROW
                FROM Allevent17
                WHERE Time >= '20200711' AND Time < '20200712' AND Name IS NOT NULL)
     SELECT   c.Employee_ID
            , c.Name
            , c.Time
            , c.temperatureinfo
            , c.Overtemperature
            FROM CTE c
        WHERE ROW = 1;

Resultado

Si observas la query, de la tabla de expresión común, se realiza un select sobre alleven17 con las restricciones por fecha y nombre planteadas y lo más importante, se numeran las filas empezando en 1 pero por cada employee_id. Como row_number exige una ordenación y te da igual, he escogido time como criterio de ordenación de los registros de cada empleado.

Tablas de expresión común (cte)

Numerar filas con Row number

Answered by Javi fer2 on January 1, 2022

Add your own answers!

Related Questions

uso de la etiqueta form , atributo action

1  Asked on November 5, 2020 by erick-toledo

     

comparar un array de fechas con fecha actual php

2  Asked on October 31, 2020 by user91940

       

variable javascrip a php

1  Asked on October 30, 2020 by samuel-sauceda

   

Animaciones en JavaScript

1  Asked on October 29, 2020 by emanuel-ayala-nez

   

Requst PUT en skill Alexa con node

1  Asked on October 25, 2020 by sergio-castro

   

Como llamar al utlimo registro de una tabla en Power BI

1  Asked on October 25, 2020 by kcs_82

 

Extraer información de una consulta que esta en un for() PHP

1  Asked on October 19, 2020 by tania-barron-rosas

   

TypeError: subscribeToMore is not a function

0  Asked on October 19, 2020 by ricardo-leiva-sikic

     

cómo acceder a mi aplicación Vue desde una IP externa?

0  Asked on October 17, 2020 by javascript110899

       

Extender la columnas de una BD con registros

1  Asked on October 16, 2020 by grem

   

Duda recorrer un multiarray

0  Asked on October 15, 2020 by norbey-martinez

   

Sintaxis [] y () no logro entender

1  Asked on October 12, 2020 by donato77

 

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir