我正在计划导出出勤记录的数据,数据来自这两个数据库:
用户:
+----+--------+---------+
| id | name | surname |
+----+--------+---------+
| 1 | george | shish |
| 2 | frank | matano |
| 3 | test | test |
+----+--------+---------+
报告人:
+-----------+---------------+------------+
| id_report | id_employee | date |
+-----------+---------------+------------+
| 1 | 1 | 07-09-2020 |
| 2 | 2 | 07-09-2020 |
| 3 | 2 | 06-09-2020 |
| 4 | 1 | 06-09-2020 |
+-----------+---------------+------------+
使用该query
:
SELECT id,id_employee,name,surname,GROUP_CONCAT(date)
FROM users as u
JOIN reportdipendente as r
ON u.id=r.id_employee
WHERE r.date LIKE ?
GROUP BY id
mysql返回:
+----+-------------+--------+---------+-----------------------+
| id | id_employee | name | surname | date |
+----+-------------+--------+---------+-----------------------+
| 1 | 1 | george | shish | 06-09-2020,07-09-2020 |
| 2 | 2 | frank | matano | 06-09-2020,07-09-2020 |
+----+-------------+--------+---------+-----------------------+
一切都还好,但是我怎么也可以打印用户nr 3?因为他在第二db
其他详细信息:
'%09-2020%'
varchar
答案 0 :(得分:1)
SELECT u.id,
COALESCE(ANY_VALUE(r.id_employee), '') id_employee,
u.name,
u.surname,
COALESCE(GROUP_CONCAT(r.date), '') date
FROM users as u
LEFT JOIN reportdipendente as r
ON u.id=r.id_employee
AND r.date LIKE ?
GROUP BY u.id,
u.name,
u.surname