(我拥有的一切都是postgres,我只能使用数据库内容,没有外部帮助)
我有以下表格:
Project (title, id)
Tasks (planned_start_date, planned_end_date, contact_id, project_id)
Contact (id, contact_name)
基本上,联系人被分配给任务,每个任务都分配给一个项目。
我必须计算每个联系人为每个项目分配的工作日数。例如:
项目:
任务:
T1('12 / 12/12','12 / 14/12',1,1)
T2('12 / 12/12','12 / 13/12',1,1)
T3('12 / 12/12','12 / 13/12',1,2)
T4('12 / 12/12','12 / 13/12',2,1)
T5('12 / 12/12','12 / 13/12',2,2)
联系人:
诀窍是我还有一个评估期,它应该作为任务开始/结束日期的过滤器。
因此,我应该以某种方式总结项目的所有指定工作日,仅用于任务在评估期内的时间间隔。
我用过
SELECT count(*)
FROM generate_series(0, (end_date::date - start_date::date::date)) i
WHERE date_part('dow', start_date::date::date + i) NOT IN (0,6))
只获得间隔的工作日(没有周末),但我不知道如何总结一切并结合所有内容..
任何帮助都会非常棒