请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
帆软用户77r8vnVzDX(uid:1271248)
职业资格认证:FCA-FineReport
  • 回答:CREATE TABLE `tb` (   `id` varchar(3) DEFAULT NULL,   `pid` varchar(3) DEFAULT NULL,   `name` varchar(64) DEFAULT NULL)INSERT INTO tb (id, pid, name) VALUES('002', '0', '浙江省');INSERT INTO tb (id, pid, name) VALUES('001', '0', '广东省');INSERT INTO tb (id, pid, name) VALUES('003', '002', '衢州市');INSERT INTO tb (id, pid, name) VALUES('004', '002', '杭州市');INSERT INTO tb (id, pid, name) VALUES('005', '002', '湖州市');INSERT INTO tb (id, pid, name) VALUES('006', '002', '嘉兴市');INSERT INTO tb (id, pid, name) VALUES('007', '002', '宁波市');INSERT INTO tb (id, pid, name) VALUES('008', '002', '绍兴市');INSERT INTO tb (id, pid, name) VALUES('009', '002', '台州市');INSERT INTO tb (id, pid, name) VALUES('010', '002', '温州市');INSERT INTO tb (id, pid, name) VALUES('011', '002', '丽水市');INSERT INTO tb (id, pid, name) VALUES('012', '002', '金华市');INSERT INTO tb (id, pid, name) VALUES('013', '002', '舟山市');INSERT INTO tb (id, pid, name) VALUES('014', '004', '上城区');INSERT INTO tb (id, pid, name) VALUES('015', '004', '下城区');INSERT INTO tb (id, pid, name) VALUES('016', '004', '拱墅区');INSERT INTO tb (id, pid, name) VALUES('017', '004', '余杭区');INSERT INTO tb (id, pid, name) VALUES('018', '011', '金东区');INSERT INTO tb (id, pid, name) VALUES('019', '001', '广州市');INSERT INTO tb (id, pid, name) VALUES('020', '001', '深圳市')二、解决SQL:第一种写法:WITH RECURSIVE location_cte AS (   -- 初始选择基础条件,即pid为0的记录,表示省级行政区域   SELECT      id,      pid,      name,     0 AS level  -- 初始层级为0   FROM tb  WHERE pid = 0      -- 递归部分:联接递归表达式自身以获取下一级行政区域   UNION ALL      SELECT      tb.id,      tb.pid,      tb.name,     location_cte.level + 1  -- 层级加1   FROM tb  JOIN location_cte ON tb.pid = location_cte.id)-- 最终查询:基于递归CTE获取所需的数据SELECT    t1.name AS shen,    t2.name AS shi,    t3.name AS qu  FROM location_cte t1LEFT JOIN location_cte t2 ON t1.id = t2.pid AND t2.pid <> 0LEFT JOIN location_cte t3 ON t2.id = t3.pidWHERE t1.pid = 0ORDER BY t1.id, t2.id, t3.id;第二种写法:SELECT    t1.name AS shen,    t2.name AS shi,    t3.name AS qu  FROM tb t1LEFT JOIN tb t2 ON t1.id = t2.pid AND t2.pid <> 0LEFT JOIN tb t3 ON t2.id = t3.pidWHERE t1.pid = 0ORDER BY t1.id, t2.id, t3.id;
    2023年11月16日回复
  • 1

    1

    6

    10

    没有更多
    个人成就
    内容被浏览2,218
    加入社区2年94天
    返回顶部