2

http://msdn.microsoft.com/en-us/library/aa581776.aspxからデータ アクセス レイヤーのチュートリアルを完了しようとしています。これまでのところ (このフォーラムのおかげで) 適切な TableAdapter を生成でき、動作しますシングルテーブルで。現在、SQL を 3 つのテーブルを参照してネストされた選択形式に編集することにより、GetProducts() メソッドを変更する関連テーブル クエリを実行しようとしています。製品、カテゴリ、およびサプライヤー。指定された構文は次のとおりです。

SELECT     
 ProductID, ProductName, SupplierID, CategoryID, 
 QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, 
 ReorderLevel, Discontinued,
    (SELECT 
        CategoryName 
     FROM Categories 
     WHERE Categories.CategoryID = Products.CategoryID  as CategoryName, 
    (SELECT 
       CompanyName 
     FROM Suppliers 
     WHERE Suppliers.SupplierID = Products.SupplierID) as SupplierName
FROM Products

これは解析しません。このネストされた選択の正しい構文を誰かに教えてもらえますか? 他の誰かがこの問題を抱えていますか? Visual Studio 2010 と SQL Server 2008 Express を使用しています。あなたが与えることができるどんな助けにも感謝します.

4

3 に答える 3

1

最初のサブクエリ、change; の閉じ括弧が欠落しているようです。

... Products.CategoryID as CategoryName

... Products.CategoryID) as CategoryName
于 2011-08-02T15:51:33.077 に答える
1

最初の "(" (または、見方によっては 2 番目の可能性があります) を閉じませんでした。

于 2011-08-02T15:51:39.587 に答える
1
SELECT     
 ProductID, 
 ProductName, 
 SupplierID, 
 CategoryID, 
 QuantityPerUnit, 
 UnitPrice, 
 UnitsInStock, 
 UnitsOnOrder, 
 ReorderLevel, 
 Discontinued,
 Categories.CategoryName as CategoryName,
 Suppliers.CompanyName As SupplierName
FROM Products
Join Suppliers On Suppliers.SupplierID = Products.SupplierID
Join Categories On Categories.CategoryID = Products.CategoryID

ネストされたクエリの代わりに、ここで Join を使用したい

于 2011-08-02T15:55:04.263 に答える