mysql:连接两个信息,返回一个虚拟列,然后依次与该列进行内部连接

cidc1ykv  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(319)

在我的项目中,我需要创建一个包含concat信息的列,例如:concat('sip/',name)as sipagent。
这是可行的,但是当我尝试与sipagent列进行内部连接时,出现了错误:(
在内部连接之后,我需要对每个连接的结果求和
就像这样:

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

name是代理的引用,sipagent是'sip/'+name,noanswered是内部联接中返回的行数。
这是我的“测试查询”:

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

但是,正在返回错误。。。对不起,英语不好,谢谢你的帮助!

xoshrz7s

xoshrz7s1#

查询在其他方面看起来不太正确,但您可以在连接中concat

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中何时使用单引号、双引号和反引号

相关问题