内部加入相同 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'
我在 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'