Я пытаюсь понять, сколько времени требуется для устранения ошибки, основанной на области, в которой он влияет. Мой результирующий набор выглядит так:
areaid Average Resolution/Closure Time (days)
1 425.57929613
2 510.00435347
3 342.90670739
Я хочу заменить значения области именем области, а не номером id. Имя области находится в другой таблице (таблица области). таблица, в которой я выполняю код, называется таблицей ошибок. Так вот что я хочу.
area_name Average Resolution/Closure Time (days)
ABC 425.57929613
DEF 510.00435347
GHI 342.90670739
Таблица площадей выглядит так:
areaid area_name
1 ABC
2 DEF
3 GHI
я думаю, мне нужно использовать соединение (все ошибки привязаны к одной области, но категории областей не могут быть привязаны к ошибке), чтобы мой код мог вызвать имя области на основе идентификатора области первичного ключа. Мой вопрос в основном заключается в том, как я могу использовать соединение (или любую другую функцию), чтобы заменить идентификатор ключа области на имя области. Я читал о присоединениях, но я не понимаю, как вы выбираете, с какой таблицы звонить. Кроме того, у меня есть другой код, и я беспокоюсь о том, как это новое дополнение повлияет на существующий код.
SELECT area, AVG(TIMESTAMPDIFF (second, Opened, GREATEST(COALESCE(Resolved , Closed), COALESCE(Closed, Resolved)))) /86400 AS "Average Resolution/Closure Time (days)"
FROM bug
WHERE Resolved IS NOT NULL AND Closed IS NOT NULL
AND Title <> "test"
GROUP BY area
Вы присоедините таблицу ошибок к [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