MYSQL选择计数两个表左联接

时间:2020-08-17 22:58:08

标签: mysql sql join count subquery

我有两个桌子。 我想计算一个值在其他表中的次数。因此,表consatore中的表“ sorgente”的编码是不同的,因为在代码之前有后缀“ BRANO-”。我尝试使用LIKE,但无法正常工作。

{{1}}

所以查询可能是

{{1}}

但是我有一个错误的结果

1 个答案:

答案 0 :(得分:1)

使用字符串串联。子查询似乎是一种自然的解决方案:

select
    s.codice,
    (
        select count(*) 
        from contatore c 
        where c.nome_evento = concat('BRANO-', s.codice) 
    ) no_matches_in_contatore
from sorgente s

但是您也可以加入并聚合:

select s.codice, count(c.nome_evento) no_matches_in_contatore
from sorgente s
left join contatore c on c.nome_evento = concat('BRANO-', s.codice) 
group by s.codice