INNER JOIN和许多表不起作用

时间:2012-11-27 02:14:11

标签: sql

我在数据库类的介绍中遇到了查询问题。我试图返回将为PurchaseOrderHeader生成的信息。我无法让它返回任何东西。

Use [Sandwiches Inc]
GO

DECLARE 
@VendorID INT,
@TodaysDate DATETIME,

SELECT @VendorID = 3,
@TodaysDate = GETDATE();

SELECT
@VendorID AS Vendor,
@TodaysDate AS TDate,
V.Name,
V.Phone,
A2.Address1,
A2.Address2,
A2.AdressState,
A2.City,
A2.Zip,
A1.Address1,
A1.Address2,
A1.AdressState,
A1.City,
A1.Zip
FROM Vendor AS V
INNER JOIN VendorAddress AS VA1 on V.VendorId = VA1.VendorId
--INNER JOIN VendorAddress AS VA2 on V.VendorId = VA2.VendorId
INNER JOIN VdrAddress as A1 on VA1.VdrAddressId = A1.VdrAddressId
INNER JOIN VdrAddress AS A2 on VA1.VdrAddressId = A2.VdrAddressId
WHERE A1.Name = 'Billing' And A2.Name = 'Shipping' And V.VendorId = 3
GO

现在,它执行但不返回任何列。如果我只做A1或A2并注释掉其中一个,它就可以了。当我尝试两者都失败时。

任何帮助将不胜感激。如果您需要更多信息,我可以详细说明。

1 个答案:

答案 0 :(得分:0)

我不认为您删除了WHERE约束以查看更大的结果集中是否确实没有任何内容?

我还假设所有表格中都有相关数据?

我将从这里开始删除除一个连接之外的所有连接,然后慢慢地重新添加它们,以便我可以缩小问题所在的位置。

试试这个,然后再回过头来告诉我们。

(当我们不知道表格中的内容时,这很难做到)