我高估了自己作为弱鸡对MYSQL语言的理解能力,对表格进行了重新要求,如下图:

这行代码足足耗费了我500年的功力😓
SELECT
b0.id,
ifnull(b1.numb ,0 ) yonggongshu,
ifnull(b2.numb,0 ) zichanshu,
ifnull(b2.numb / b1.numb,0) pinjun
FROM
( SELECT id FROM book1 UNION SELECT id FROM book2 ) b0
LEFT JOIN ( SELECT id, SUM( numb ) numb FROM book1 WHERE leibie = "中层" OR leibie = "临时工" GROUP BY id ) b1 ON b1.id = b0.id
LEFT JOIN ( SELECT id, SUM( numb ) numb FROM book2 WHERE zichan = "门面" OR zichan = "房屋" GROUP BY id ) b2 ON b2.id = b0.id
ORDER BY b0.id