输出名称而不是ID

时间:2018-06-29 17:28:08

标签: mysql sql

我正在尝试根据影响区域来解决漏洞。我的结果集如下所示

outerLayoutBase

我想用区域名称而不是ID号替换区域值。该区域的名称在另一个表(区域表)中。我正在执行代码的表称为错误表。这就是我想要的。

 areaid       Average Resolution/Closure Time (days)
    1            425.57929613
    2            510.00435347
    3            342.90670739

面积表如下

 area_name     Average Resolution/Closure Time (days)
  ABC            425.57929613
  DEF            510.00435347
  GHI            342.90670739

我认为我需要使用联接(所有bug都绑定到一个区域,但是区域类别可能不绑定到bug),以便我的代码能够基于主键区域ID来调用区域名称。我的问题基本上是如何使用联接(或任何其他函数)将区域密钥ID替换为区域名称。我已经阅读了有关联接的内容,但我不明白您如何选择要从哪个表进行调用。同样,我还有其他代码,我担心此新添加内容将如何影响现有代码。

 areaid          area_name   
    1            ABC
    2            DEF
    3            GHI

1 个答案:

答案 0 :(得分:0)

您将Bug表连接到areaName的ID上的[ReferenceTable],然后从联接中选择别名rt.areaName:

    SELECT 
    ar.area_name as Area,
 AVG(TIMESTAMPDIFF (second, Opened, GREATEST(COALESCE(Resolved , Closed), COALESCE(Closed, Resolved)))) /86400 AS "Average Resolution/Closure Time (days)"
    FROM bug as bg
    JOIN Area as ar
    on bg.areaid = ar.areaid
    WHERE Resolved IS NOT NULL AND Closed IS NOT NULL 
    AND Title <> "test"
    GROUP BY ar.areaName
相关问题