【发布时间】:2019-01-23 07:56:04
【问题描述】:
我正在编写一个包含多个连接的查询,我希望每个用户都针对所有类别类型显示条目。当我执行下面的查询时,仅返回 1 条记录,因为员工 u.employee_id = "0079-P" 仅在 1 个项目上工作,但我想获取所有 category_types 的数据,用户工作时间显示为 null 对于他没有工作的类别.
Select u.employee_id As Employee_ID, u.user_name As UserName, COALESCE(primaryDept.ctd_name, primaryProj.ctd_name) As PrimaryDeptOrProj, region.region_name As Region, categoryType.ctd_id, categoryType.ctd_name, SUM(tsdd.workhours)
From users u
LEFT JOIN category_type_details primaryDept ON u.user_primary_department = primaryDept.ctd_id
LEFT JOIN category_type_details primaryProj ON u.user_primary_project = primaryProj.ctd_id
LEFT JOIN regions region ON u.region_id = region.region_id
LEFT JOIN timesheets ts ON u.user_id = ts.timesheet_user
INNER JOIN timesheet_mr tsmr ON ts.timesheet_caller = tsmr.tsmr_id
INNER JOIN timesheet_details tsd ON ts.timesheet_id = tsd.tsd_timesheet_id
INNER JOIN timesheet_day_details tsdd ON tsd.tsd_id = tsdd.tsd_id
RIGHT OUTER JOIN category_type_details categoryType ON tsd.tsd_category_type_id = categoryType.ctd_id
WHERE tsmr.tsmr_id = 14 and u.employee_id = "0079-P"
GROUP BY u.user_id, tsd.tsd_category_type_id;
我尝试了这个带有变体的查询,它在任何情况下都返回 1 条记录。
【问题讨论】:
-
能否展示您当前的输出、您的预期输出并添加一些示例数据?
-
请只标记相关数据库。
标签: mysql sql sql-server database