如何将两个表行与不匹配的列组合?

时间:2017-10-08 06:37:43

标签: php mysql

如果用户已在该特定数据范围内申请了离开,我需要在'checkin_checkout'表中查询特定日期范围的用户出勤记录,并使用'users_leave_status'表中的离开记录。 在查询'checking_checkout'表两个日期后,我得到以下结果集,例如,日期范围 - 2017-01-28到2017-01-29。

markerLocation.longitude=[(CLLocation *)(marker.userData) coordinate].longitude;

此外,我查询'users_leave_status'表以检查用户是否已申请指定日期范围的日期,并获得以下结果集:

users_id | checkin_date | checkout_date | delayed_checkin remarks | early_checkout_remarks
1        | 2017-01-28   | 2017-01-28    | traffic jam             | NULL
2        | 2017-01-28   | 2017-01-28    | household               | NULL
3        | 2017-01-28   | 2017-01-28    | NULL                    | NULL
4        | 2017-01-28   | 2017-01-28    | traffic jam             | sick
1        | 2017-01-29   | 2017-01-29    | traffic jam             | NULL
3        | 2017-01-29   | 2017-01-29    | NULL                    | bored
4        | 2017-01-29   | 2017-01-29    | traffic jam             | NULL

现在我有两个特定日期范围的结果集,我需要将这些行合并为一个如下:

users_id | leave_from | leave_to      | leave_type | leave_description
2        | 2017-01-29 | 2017-01-30    | Personal   | Trekking
5        | 2017-01-28 | 2017-01-30    | Sick       | Fever

如何组合这些行?我所知道的只是UNION ALL,它只适用于相同数量的列和匹配的数据类型列。请问任何解决方案?

0 个答案:

没有答案