【发布时间】:2018-03-01 17:25:46
【问题描述】:
我有一个从客户那里检索的查询:
- 在他的票上花费的时间总和(每张票可以有 1 次或多次干预)
- 平均解析时间
- 每张票的类别
查询:
SELECT SUM(f.duree) as total_time, SUM(timestampdiff(second, t.datec, t.date_close))/COUNT(distinct t.rowid) as average_resolution, COUNT(distinct t.rowid) as tickets,
SUM( CASE t.category_code WHEN 'WITHOUT_MAINTENANCE' THEN 1 ELSE 0 END) as sin_mantenimiento,
SUM( CASE t.category_code WHEN 'WITH_MAINTENANCE' THEN 1 ELSE 0 END) as con_mantenimiento,
SUM( CASE t.category_code WHEN 'WITH_BILLABLE_MAINTENANCE' THEN 1 ELSE 0 END) as con_mantenimiento_facturable,
SUM( CASE t.category_code WHEN 'NO_BILLABLE_COASER_WARRANTY' THEN 1 ELSE 0 END) as no_facturable_garantia_coaser,
SUM( CASE t.category_code WHEN 'OFERTADO' THEN 1 ELSE 0 END) as ofertado
FROM llx_ticketsup as t
JOIN llx_element_element as ee on ee.fk_source = t.rowid
JOIN llx_fichinter as f on f.rowid = ee.fk_target
WHERE t.fk_soc = 47 AND t.fk_statut = 8
在哪里
- llx_ticketsup 是主门票表
- llx_fichinter 是存储工单干预的表
- llx_element_element 是工单和干预之间的表格
我的问题是,如果一张票有超过 1 次干预,则对类别类型的总和要知道有多少来自该类别以及有多少来自另一个,它将干预相加而不是票。例如,如果查询返回 2 张工单,总共有 6 次干预,则返回 6 个类别为 WITHOUT_MAINTENANCE 的工单,而不是 2 个类别为 WITHOUT_MAINTENANCE 的工单。
怎么了?谢谢。
【问题讨论】:
标签: mysql