SQL多表全联接后按照日期聚合查询数据,但是当遇到有字段为空值时不显示结果,求大神解答,SQL较长,请耐心看一下

SQL多表全连接后按照日期聚合查询数据,但是当遇到有字段为空值时不显示结果,求大神解答,SQL较长,请耐心看一下
 select * from LH_ZT full join LH_XZ on LH_ZT.date=LH_XZ.date full join LH_DG ON LH_ZT.date=LH_DG.date WHERE LH_ZT.date=convert(varchar(10),getdate()- 1,120) AND LH_XZ.date=convert(varchar(10),getdate()- 1,120) AND LH_DG.date=convert(varchar(10),getdate()- 1,120)

这是一个简化的SQL实例,有时当date为空时结果不显示,如何解决这个问题
------解决方案--------------------
用子查询先过滤,再连接。
还有要 3 个连接关系。
   SELECT *
     FROM (SELECT * FROM lh_zt WHERE lh_zt.DATE = CONVERT(VARCHAR(10),Getdate() - 1,120)
          ) lh_zt
FULL JOIN (SELECT * FROM lh_xz WHERE lh_xz.DATE = CONVERT(VARCHAR(10),Getdate() - 1,120)
          ) lh_xz
       ON lh_zt.DATE = lh_xz.DATE
FULL JOIN (SELECT * FROM lh_dg WHERE lh_dg.DATE = CONVERT(VARCHAR(10),Getdate() - 1,120)
          ) lh_dg
       ON lh_zt.DATE = lh_dg.DATE
       OR lh_xz.DATE = lh_dg.DATE