MySQL: объединить две информации, вернуть виртуальный столбец и последовательно выполнить INNER JOIN со столбцом - PullRequest
0 голосов
/ 22 ноября 2018

В моем проекте мне нужно создать столбец с информацией Concat, например: CONCAT ('SIP /', name) AS sipAgent.

И это работает, но когда я пытаюсь сделать ВНУТРЕННЕЕ СОЕДИНЕНИЕс столбцом sipAgent, имеет ошибку: (

И после внутреннего объединения мне нужно СУММИТЬ результаты для каждого результата

, например:

----------------------------------
| NAME | sipAgent | notAnswered  |
----------------------------------
| aaa  | SIP/aaa  |    132       |
| bbb  | SIP/bbb  |    50        |
----------------------------------

Имяссылка на агента, sipAgent - «SIP /» + name, а noAnspted - количество строк, возвращаемых во внутреннем объединении.

Вот мой «тест-запрос»:

SELECT *, CONCAT('SIP/', tab_sippeers.name) AS sipAgent, SUM(queue_log.event) as notAnswered
FROM 'ipbx.tab_sippeers'

join 'queue_log' on tab_sippeers.sipAgent = queue_log.agent

Но, возвращается ошибка ... Извините за плохой английский, и большое спасибо за помощь!

1 Ответ

0 голосов
/ 22 ноября 2018

Запрос выглядит неправильно в других отношениях, но вы можете объединить его в объединении

   SELECT *, CONCAT('SIP/', tab_sippeers.name) AS sipAgent, SUM(queue_log.event) as notAnswered
FROM `ipbx.tab_sippeers`
join `queue_log` on CONCAT('SIP/', tab_sippeers.name)  = queue_log.agent;

, а имена таблиц и столбцов должны заключаться в обратные кавычки, а не в одинарные кавычки, если вы хотите заключить их вообще, Когда использовать одинарные кавычки, двойные кавычки и обратные тики в MySQL

...