qq_42546893 2019-03-02 13:08 采纳率: 50%
浏览 2957
已采纳

请问数据库五张表如何关联查询?

五张表如下:

cdn_duty表(a)

图片说明

cdn_duty2city表(b)

图片说明

cdn_duty2province表(c)

图片说明

city_data表(d)

图片说明

province_data表(e)

图片说明

下面是我写的一部分查询:

图片说明

问题是我不明白如何将c表关联进去实现这个效果:

图片说明

小白求大神指教!!多谢!!!

  • 写回答

2条回答 默认 最新

  • qq_42546893 2019-03-04 09:44
    关注

    琢磨了三天终于实现了下面是完整查询语句,(可能不是最好的,欢迎大神指教!)

    SELECT
        aa.sno,
        aa.duty_name,
        aa.duty_mail,
        aa.city_name,
        concat(
            IFNULL(aa.province_name, ''),
            IFNULL(bb.province_name, '')
        ) AS province_name
    FROM
        (
            SELECT
                a.sno,
                a.duty_name,
                a.duty_mail,
                d.city_name,
                e.province_name
            FROM
                qiyq.cdn_duty AS a
            LEFT JOIN qiyq.cdn_duty2city AS b ON a.sno = b.sno_duty
            LEFT JOIN qiyq2.city_data AS d ON b.sno_city = d.sno
            LEFT JOIN qiyq2.province_data AS e ON d.sno_province = e.sno
        ) aa
    LEFT JOIN (
        SELECT
            a.sno,
            a.duty_name,
            a.duty_mail,
            e.province_name
        FROM
            qiyq.cdn_duty AS a
        LEFT JOIN qiyq.cdn_duty2province AS c ON a.sno = c.sno_duty
        LEFT JOIN qiyq2.province_data AS e ON c.sno_province = e.sno
    ) bb ON aa.sno = bb.sno
    ORDER BY
        aa.sno
    

    其中concat参考自:https://zhidao.baidu.com/question/547611101.html

    效果如下:

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器