gpt4 book ai didi

mysql - 查询结果 null 或 0

转载 作者:行者123 更新时间:2023-11-30 21:59:23 24 4
gpt4 key购买 nike

我正在尝试预约返回所有市政当局和所有专业......因为即使在该市政当局也没有任何此类专业的提供者,它应该以值 0 或 null 列出......目前我正在处理这个查询,我需要一些帮助。

select 
cid.txt_cidade, esp.txt_especialidade, count(*) as QTD
from
tb_associadoespecialidade as assesp
left join
tb_especialidade as esp on esp.id_especialidade = assesp.id_especialidade
left join
tb_associado as ass on ass.id_associado = assesp.id_associado
left join
tb_cidade as cid on cid.id_cidade = ass.id_cidade
where
ass.id_categoria = 1 and txt_cidade like 'Tupã'
group by
cid.txt_cidade, esp.txt_especialidade
order by
cid.txt_cidade desc;

图表

diagrama

结果预期

TXT_CIDADE ------ TXT_ESPECIALIDADE --------- count QTD
SP -------------- ESPEC01 ------------------- 10
SP -------------- ESPEC02 ------------------- 5
SP -------------- ESPEC03 ------------------- 15
RJ -------------- ESPEC01 ------------------- NULL
RJ -------------- ESPEC02 ------------------- 5
RJ -------------- ESPEC03 ------------------- NULL

最佳答案

试试这个:

select 
cid.txt_cidade, esp.txt_especialidade, count(*) as QTD
from
tb_associadoespecialidade as assesp
left join
tb_especialidade as esp on esp.id_especialidade = assesp.id_especialidade
left join
tb_associado as ass on ass.id_associado = assesp.id_associado
and ass.id_categoria = 1
left join
tb_cidade as cid on cid.id_cidade = ass.id_cidade
where
txt_cidade like 'Tupã'
group by
cid.txt_cidade, esp.txt_especialidade
order by
cid.txt_cidade desc;

当您在外连接表的字段上应用 where 子句时,您可能会无意中丢弃记录。通过将所需的过滤放在连接条件中,您仍然会在不满足该条件的情况下获得空值。看我的回答here了解更多详情。

关于mysql - 查询结果 null 或 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com