0

我有一个标题表(VATLH)我需要加入多个表,我需要将它加入到 vatld,以计算数据行的数量,并将其加入到 vldocd 以查看它是否在 Doc 中使用标题(DOCID )

所以我使用 2 个左连接

SELECT VATLH.periode
      , vatlh.dossierID
      , vldocd.docID
      , COUNT(vatld.vatnum)
  FROM vatlh
       LEFT JOIN vatld
       LEFT JOIN vldocd ON  vldocd.dossierID = vatld.dossierID
                AND VLDOCd.PERIODE = VATLd.PERIODE
                AND vldocd.soort = 0 ON  vatld.dossierID = vatlh.dossierID
                AND vatlh.periode = vatld.periode
 GROUP BY VATLH.periode, vatlh.dossierID, vldocd.docID

但是如果 vatld 表中没有对应的行,那么如果结果应该是 DOCID,则 DOCID 结果为 null。添加相应行时,DOCID 具有正确的数据。

4

1 回答 1

1

这是因为您使用 vatld 字段加入 vldocd - 而是使用 vatlh 字段,如下所示:

SELECT VATLH.periode
      , vatlh.dossierID
      , vldocd.docID
      , COUNT(vatld.vatnum)
  FROM vatlh
       LEFT JOIN vatld ON  vatld.dossierID = vatlh.dossierID
                AND vatlh.periode = vatld.periode
       LEFT JOIN vldocd ON  vldocd.dossierID = vatlh.dossierID
                AND VLDOCd.PERIODE = VATLh.PERIODE
                AND vldocd.soort = 0 
 GROUP BY VATLH.periode, vatlh.dossierID, vldocd.docID
于 2013-05-29T09:26:17.660 回答