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 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架