mysql 如何比较两个不同表的日期和值

eufgjt7s  于 5个月前  发布在  Mysql
关注(0)|答案(1)|浏览(57)

我有两个包含相同列名的表,PMS每天都会变化,因此需要比较表日期,emp. code和PMS。如果两个表在同一日期对员工有不同的PMS值,我需要提到的输出。
表1
| ID|日期|电磁码|PMS|
| --|--|--|--|
| 1 |2023-12-01 2023-12-01 2023-12-01| V1856| 5 |
| 2 |2023-12-10| V2584| 4 |
| 3 |2023-12-15 - 01 - 02 - 01 - 02 - 01 - 01| V3643| 5 |
| 4 |2023-12-15 - 01 - 02 - 01 - 02 - 01 - 01| V1856| 5 |
| 5 |2023-12-16 2023-12-16| V2584| 6 |
表2
| ID|日期|电磁码|PMS|
| --|--|--|--|
| 1 |2023-12-01 2023-12-01 2023-12-01| V1856| 4 |
| 2 |2023-12-10| V2584| 4 |
| 3 |2023-12-15 - 01 - 02 - 01 - 02 - 01 - 01| V3643| 5 |
| 4 |2023-12-15 - 01 - 02 - 01 - 02 - 01 - 01| V1856| 5 |
| 5 |2023-12-16 2023-12-16| V2584| 2 |
要求输出
| ID|日期|电磁码|tbl1_PMS| tbl2_PMS|
| --|--|--|--|--|
| 1 |2023-12-01 2023-12-01 2023-12-01| V1856| 5 | 4 |
| 2 |2023-12-16 2023-12-16| V2584| 6 | 2 |
请输入MySQL代码。

5kgi1eie

5kgi1eie1#

您可以使用INNER JOIN来连接两个表,然后选择不匹配的行:

select t1.ID, t1.Date, t1.emp_code, t1.PMS as tbl1_PMS, t2.PMS as tbl2_PMS 
from table1 t1
inner join table2 t2 on t1.Date = t2.Date
                    and t1.emp_code = t2.emp_code
where t1.PMS <> t2.PMS

字符串
结果如下:

ID  Date        emp_code    tbl1_PMS    tbl2_PMS
1   2023-12-01  V1856       5           4
5   2023-12-16  V2584       6           2


Demo here

相关问题