首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从联接表中添加求和大小写而不是主表

从联接表中添加求和大小写而不是主表
EN

Stack Overflow用户
提问于 2018-03-01 09:11:01
回答 1查看 24关注 0票数 0

我有一个从客户那里检索的查询:

  • 在他的票上花费的时间总和(每张票可以有一个或更多的干预)
  • 平均分辨率时间
  • 每张票的类别

查询:

代码语言:javascript
复制
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是介于门票和干预之间的表

我的问题是,如果一张票有一个以上的干预,在类别类型之和上知道有多少来自这个类别,有多少来自另一个类别,它会把干预措施加在一起,而不是门票。例如,如果查询返回2张票证,并且它们总共有6次干预,则返回6张类别WITHOUT_MAINTENANCE的票,而不是2张类别WITHOUT_MAINTENANCE的票。

出什么事了?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-01 09:25:46

没有什么“错误”--这是预期的行为--尝试使用子查询来获得持续时间。有点像

代码语言:javascript
复制
SELECT (select sum(f.duree) from llx_fichinter as f on f.rowid = ee.fk_target) 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

                WHERE t.fk_soc = 47 AND t.fk_statut = 8

如果不起作用,将示例数据和预期的结果作为文本添加到问题中,这样我们就可以使用它了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49046237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档