他们说的那个dateadd 不是oracle的函数。是sqlserver 的,你要前一天的可以SELECT SYSDATE-1 FROM DUAL 直接减一就是默认减一天。就算是1号 也会变成上个月的最后一天
写成on a.id=b.id and a.date=dateadd(dd,-1,b.date)
--用dateadd函数。b.date减一天on a.id=b.id and a.date=dateadd(day,-1,b.date)