我在数据库类的介绍中遇到了查询问题。我试图返回将为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并注释掉其中一个,它就可以了。当我尝试两者都失败时。
任何帮助将不胜感激。如果您需要更多信息,我可以详细说明。
答案 0 :(得分:0)
我不认为您删除了WHERE约束以查看更大的结果集中是否确实没有任何内容?
我还假设所有表格中都有相关数据?
我将从这里开始删除除一个连接之外的所有连接,然后慢慢地重新添加它们,以便我可以缩小问题所在的位置。
试试这个,然后再回过头来告诉我们。
(当我们不知道表格中的内容时,这很难做到)