MySQL三表关联查询如何正确获取advisor_name及指定字段
调整方案
核心问题点
- 原写法使用
INNER JOIN关联顾问表,会过滤掉investors_positivador中无对应顾问编码的客户,不符合保留所有客户编码的要求,需替换为LEFT JOIN - 原查询选取的是顾问编码字段,未选取需求要求的顾问名称字段,同时需要给字段设置指定别名匹配要求的返回列名
最终SQL语句
SELECT investors_positivador.cod_cliente AS customer_code, investors_saldo_financeiro.nome_cliente AS customer_name, investors_positivador.net_em_m AS net_client, investors_base_assessores.advisor_name AS advisor_name FROM investors_positivador INNER JOIN investors_saldo_financeiro ON investors_positivador.cod_cliente = investors_saldo_financeiro.cod_cliente LEFT JOIN investors_base_assessores ON investors_base_assessores.advisor_cod = investors_positivador.advisor_cod
可选调整
如果存在客户编码在investors_clients_balance表无匹配记录、也需要保留的场景,可将关联investors_saldo_financeiro的INNER JOIN替换为LEFT JOIN,无匹配时customer_name会返回NULL。
内容的提问来源于stack exchange,提问作者Saw
相关产品推荐
相关产品推荐

