如何在使用2个表数据中获得单个结果

时间:2019-11-01 07:20:03

标签: mysql sql

我必须使用相同结构的表2。我已经通过使用以下查询使用一个表来获取结果

SELECT *,COUNT(Time), 
             CASE WHEN COUNT(Time) = 1 
                 THEN CASE WHEN Time > '00:00:00' && Time <= '12:15:00' 
                 THEN Time END ELSE MIN(Time) 
                 END as time_in, 
                 CASE WHEN COUNT(Time) = 1 
                     THEN CASE WHEN Time > '12:15:00' && Time <= '23:59:59' 
                     THEN Time END ELSE NULLIF(MAX(Time), MIN(Time)) 
                     END as time_out 
                 FROM attendancedata 
                 INNER JOIN nonacadamic 
                 ON attendancedata.EnrolledID = nonacadamic.emp_id 
                 WHERE nonacadamic.emp_id = '".$_POST["emp_id"]."' AND Date LIKE '$currentMonth%' 
                 GROUP BY EnrolledID,Date

此查询将在时间上分为2个部分(时间输入和超时)。它工作正常。现在还希望从其他表中获取数据。它也具有attendancedata表的相同结构。

出勤数据表结构

EnrolledID  Date    Time    
23  2019-09-09  16:19:00    
53  2019-08-27  08:19:00

tempattendancedata表结构

EnrolledID  Date    Time    
23  2019-09-09  16:19:00    
23  2019-09-20  08:19:00

我想获取结果考虑上述表格记录,然后将时间分成两部分。我该怎么做? 实际要求是tempattendancedata表数据还需要考虑时间分割

1 个答案:

答案 0 :(得分:2)

您使用UNION ALL包含临时表的结果,然后将其放入subquery的{​​{1}}语句中

select case