一对多Join时取多个记录中的第一条数据作为某列的值
SELECT s.sn,( SELECT v.createtime FROM ( SELECT t.createtime, t.sn FROM spareparts_qesamplestate a LEFT JOIN ( SELECT * FROM ( SELECT b.sn, b.createtime, row_number() OVER (PARTITION BY b.sn ORDER BY b.createTime DESC) AS px FROM spareparts_qescanhistory b WHERE transtype = 0 ) e WHERE px = 1 ) t ON a.sn = t.sn ) v WHERE v.sn = s.sn ) AS creattime FROM spareparts_qesamplestate s;
浙公网安备 33010602011771号