您可能需要为每个子查询使用不同的别名。这应该工作:
(SELECt * FROM ( (SELECt j1.* FROM jobs AS j1 LEFT JOIN zippre AS z1 ON z1.zippre_id=j1.zippre_id WHERe 1 AND source='student' ORDER BY postdate DESC LIMIT 20) ORDER BY search_order DESC ) s1) UNIOn ALL(SELECt * FROM ( (SELECt j2.* FROM jobs AS j2 LEFT JOIN zippre AS z2 ON z2.zippre_id=j2.zippre_id WHERe 1 AND source='manager' ORDER BY postdate DESC LIMIT 30, 1000000) ORDER BY postdate DESC )s2)



