如何组合这两个查询?

How can I combine these 2 queries?

SELECT 
    USERINFO.Name, USERINFO.SSN, USERINFO.Badgenumber, 
    FORMAT((Min(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEINAM, 
    FORMAT((Max(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEOUTAM
FROM 
    CHECKINOUT 
INNER JOIN 
    USERINFO ON CHECKINOUT.USERID = USERINFO.USERID
WHERE 
    (CHECKINOUT.CHECKTIME >= DATEVALUE(PERIOD_START) AND
     CHECKINOUT.CHECKTIME < DATEADD("d", 1, PERIOD_END) AND
    FORMAT(CHECKINOUT.CHECKTIME, "AMPM") = "AM") AND 
    USERINFO.Name = Insert_Name
GROUP BY 
    CHECKINOUT.USERID, USERINFO.Name, USERINFO.SSN, 
    DateValue(CHECKINOUT.CHECKTIME), USERINFO.Badgenumber
HAVING 
    (((USERINFO.Badgenumber) < "8000"))
ORDER BY 
    USERINFO.Name, Min(CHECKINOUT.CHECKTIME);

查询显示timein和timeout的输出-AM

SELECT 
    USERINFO.Name, 
    FORMAT((Min(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEINPM, 
    FORMAT((Max(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEOUTPM
FROM 
    CHECKINOUT 
INNER JOIN 
    USERINFO ON CHECKINOUT.USERID = USERINFO.USERID
WHERE 
    (CHECKINOUT.CHECKTIME >= DATEVALUE(PERIOD_START) AND
     CHECKINOUT.CHECKTIME < DATEADD("d",1,PERIOD_END) AND 
    FORMAT(CHECKINOUT.CHECKTIME, "AMPM") = "PM") AND 
    USERINFO.Name = Insert_Name
GROUP BY 
    CHECKINOUT.USERID, USERINFO.Name, USERINFO.SSN, 
    DateValue(CHECKINOUT.CHECKTIME), USERINFO.Badgenumber
HAVING 
    (((USERINFO.Badgenumber) < "8000"))
ORDER BY 
    USERINFO.Name, Min(CHECKINOUT.CHECKTIME);

查询 2 - PM 的时间和超时。

我需要同时显示这两个查询的输出。有 USERINFO.Name 和 DATE

看来你只需要按时间分组即可:

SELECT 
    USERINFO.Name, 
    USERINFO.SSN, 
    USERINFO.Badgenumber, 
    FORMAT(CHECKINOUT.CHECKTIME, "AMPM") AS [AM/PM],
    FORMAT((Min(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEIN, 
    FORMAT((Max(CHECKINOUT.CHECKTIME)),"dd-mmm-yyyy hh:mm am/pm") AS TIMEOUT
FROM 
    CHECKINOUT 
INNER JOIN 
    USERINFO ON CHECKINOUT.USERID = USERINFO.USERID
WHERE 
    (CHECKINOUT.CHECKTIME >= DATEVALUE(PERIOD_START) AND
     CHECKINOUT.CHECKTIME < DATEADD("d", 1, PERIOD_END) AND
    USERINFO.Name = Insert_Name
GROUP BY 
    CHECKINOUT.USERID, 
    USERINFO.Name, 
    USERINFO.SSN, 
    DateValue(CHECKINOUT.CHECKTIME), 
    FORMAT(CHECKINOUT.CHECKTIME, "AMPM"),
    USERINFO.Badgenumber
HAVING 
    (((USERINFO.Badgenumber) < "8000"))
ORDER BY 
    USERINFO.Name, 
    FORMAT(CHECKINOUT.CHECKTIME, "AMPM"),
    Min(CHECKINOUT.CHECKTIME);