内部加入相同 Table 同一列两次

Inner Join to Same Table Twice on same column

我在 SQL 服务器查询尝试将一个视图与另一个视图连接两次时遇到问题

SELECT 
    FAC.* 
FROM 
    ViewFacturacionDiaria_Test AS FAC
INNER JOIN
    ViewInformacionRepresentantes AS REP
        ON REP.RepIDTabacal = FAC.Vendedor
INNER JOIN
    ViewInformacionRepresentantes AS REP2
        ON REP2.RepIDCtayOrden = FAC.Vendedor
WHERE
    FecCpbte BETWEEN '2015-11-28' AND '2015-11-30'

在 "FAC" 视图中我有销售信息,在另一个视图中我有一组特定的销售人员,我想从主视图中筛选出来。

我想了解查询返回空结果集的原因。

抱歉,我无法发表评论。但我相信彼得的评论是正确的。由于您使用的是 2 个内部联接,因此它们都需要 return 结果。您希望两个连接都能找到匹配项吗?

试试看哪一列为空。这是导致没有 returned 行的连接。

SELECT 
    FAC.Vendedor
    ,REP.RepIDTabacal
    ,REP2.RepIDCtayOrden
FROM 
    ViewFacturacionDiaria_Test AS FAC
LEFT JOIN
    ViewInformacionRepresentantes AS REP ON
    REP.RepIDTabacal = FAC.Vendedor
LEFT JOIN
    ViewInformacionRepresentantes AS REP2 ON
    REP2.RepIDCtayOrden = FAC.Vendedor
WHERE
    FecCpbte BETWEEN '2015-11-28' AND '2015-11-30'