Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在系统上显示联机用户_Sql Server - Fatal编程技术网

Sql server 在系统上显示联机用户

Sql server 在系统上显示联机用户,sql-server,Sql Server,我不知道我到底错在哪里,但我需要一个当前正在工作的所有员工的列表(对于当前一天),这是我的sql查询: SELECT zp.ID, zp.USER_ID, zp.Arrive, zp.Deppart, zp.DATUM FROM time_recording as zp INNER JOIN personal AS a on zp.USER_ID, = zp.USER_ID, WHERE zp.Arrive IS NOT NULL AND z

我不知道我到底错在哪里,但我需要一个当前正在工作的所有员工的列表(对于当前一天),这是我的sql查询:

SELECT
    zp.ID, 
    zp.USER_ID, 
    zp.Arrive, 
    zp.Deppart, 
    zp.DATUM
FROM time_recording as zp 
INNER JOIN personal AS a on zp.USER_ID, = zp.USER_ID, 
WHERE zp.Arrive IS NOT NULL 
AND zp.Deppart IS NULL 
AND zp.DATUM = convert(date, getdate())
ORDER BY zp.ID DESC
这是我的查询中数据的外观:

对我来说,问题是,我如何更正我的查询,以便只获得每个用户当前一天的最后到达时间? 在这种情况下,要仅获取这些值:


使用下面的行号尝试下面的脚本-

SELECT * FROM 
(
    SELECT zp.ID, zp.USER_ID, zp.Arrive, zp.Deppart, zp.DATUM,
    ROW_NMBER() OVER(PARTITION BY zp.User_id ORDER BY zp.Arrive DESC) RN
    FROM time_recording as zp 
    INNER JOIN personal AS a 
    on zp.USER_ID = zp.USER_ID
    -- You need to adjust above join relation as both goes to same table
    -- In addition, as you are selecting nothing from table personal, you can drop the total JOIN part
    WHERE zp.Arrive IS NOT NULL 
    AND zp.Deppart IS NULL 
    AND zp.DATUM = convert(date, getdate())
)A
WHERE RN =1
您可以尝试以下方法:

SELECT DISTINCT
   USER_ID,
   LAR.LastArrive
   FROM time_recording as tr
CROSS APPLY (
    SELECT 
       MAX(Arrive) as LastArrive 
    FROM time_recording as ta
    WHERE
      tr.USER_ID = ta.USER_ID AND
      ta.Arrive IS NOT NULL
) as LAR

非常欢迎@lasta。很高兴看到它有所帮助:)