0

データベースクラスの概要を説明していますが、クエリで問題が発生しています。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のみを実行し、どちらか一方をコメントアウトすると、機能します。両方をやろうとすると失敗します。

どんな助けでもいただければ幸いです。さらに詳しい情報が必要な場合は、詳しく説明します。

4

1 に答える 1

0

より大きな結果セットに実際に何もないかどうかを確認するために WHERE 制約を削除したとは思いませんか?

また、すべてのテーブルに関連データがあると思いますか?

ここから先は、1 つの結合を除くすべての結合を削除し、ゆっくりと再追加して、問題がどこにあるのかを絞り込むことです。

それを試して、詳細をお知らせください。

(Ps. テーブルに何が入っているかわからない場合、これを行うのは困難です)

于 2012-11-27T02:47:28.750 に答える