SELECT PCC.CUSTNO custNo,T.PERSON_NO,T.CREATNAME visitorName,to_char(T.VISIT_TIME,'yyyy-MM-dd HH24:mi:ss') visitDate ,T.VISIT_CONTENT vistTxt,PCC.INVNM custName,PCC.BALANCE_TOTAL,PCC.BALANCE_PRODUCT FROM PRSP_CRM_CUSTINFO PCC
LEFT JOIN
(SELECT a.*,row_number() over(partition by a.PERSON_NO ORDER BY a.VISIT_TIME DESC) as rn FROM
(SELECT
PCV.VISIT_CONTENT,
PCV.VISIT_TIME,
PPD.INVNM CREATNAME,
PCMP.PERSON_NO
FROM
PRSP_CRM_MEETANDACTITY_PERSON PCMP
LEFT JOIN
PRSP_CRM_VISIT PCV
ON
PCV.SERIAL_VISIT_NO=PCMP.SERIAL_REFREN_NO
LEFT JOIN
PRSP_CRM_CUSTINFO PPD
ON
PPD.CUSTNO=PCV.CREATE_NO
WHERE PCMP.MEET_TYPE='1' AND PCMP.PERSON_TYPE='2' AND PCMP.DELETE_FLG='0') a ) T
ON PCC.CUSTNO=T.PERSON_NO and t.rn=1
where 1=1
1.首先 写一个 连接查询语句: 比如有时间的表排序
2、 通过这个函数 select a.* row_number() over(partition by 分组的字段 order by 排序时间 desc) as rn from (结果集) a
2. 显示的结果
这样就会把第一条第二条进行排序。。 我们 写一个条件 rn=1 这样就是取最近一条了。。
最后去关联你想要的表就好了。。
遇到的问题:
如果其他时间为空 那么他的排序就是 为空的时间排再前面 如何解决呢?
这里使用上面的办法解决。。。
效果图: