求大神,用sql查询这三个语句

不知道题主的数据是否不全还是测试数据,如果按第三点加上单位名称查询的话单纯上面数据看不出同比,我这里就没加单位名称了哈,如果需要直接加上单位名称分组聚合即可。

select
     t1.entry_date,
     t1.entry_qty,
     t1.leave_qty,
     t2.entry_qty   as entry_qty_ly,
     t2.leave_qty   as leave_qty_ly
from
(
    select
        entry_date,
        entry_qty,
        leave_qty
    from tmp_test_20220824_01
) t1
left outer join
(
    select
        entry_date,
        entry_qty,
        leave_qty
    from tmp_test_20220824_01
) t2
on concat(t1.entry_date,'-01') = date_add(concat(t2.entry_date,'-01'),interval 1 year)
;

img