理由はわかりませんが、例(ms sqlサーバーのnorthwindデータから)に従って、Microsoft SQL Server Management Studio 2008で次のようなコードを入力して、サブクエリを実行すると、
Select Orders.OrderID,
(Select Customers.CompanyName
From Customers
Where Customers.CustomerID = Orders.CustomerID) As Company Name
From Orders,
Customers
サブクエリを含むこのSQLコードは、自動的にクロス結合を取得し、次のようになります。
Select Orders.OrderID,
(Select Customers.CompanyName
From Customers
Where Customers.CustomerID = Orders.CustomerID) As Company Name
From Orders
CROSS JOIN Customers as Customers_1
私はこれのいくつかのバリエーションを試してみましたが、この問題を解決することはできませんでした。これは、Microsoft SQL Server Management Studio 2008の既知のバグですか?パッチが適用されている場合、パッチを適用するにはどうすればよいですか?それ以外の場合、これをMicrosoftに報告して、実際に迅速に修正してもらうにはどうすればよいですか?
私の実際のクエリでは、IDを等しくすることによってこの特定のテーブルの名前を約50回クエリ/ルックアップする必要があります。コードが不器用で非常に長いため、これに対して何らかのJOINを実行する必要があるのは単純に愚かだと思います。パフォーマンスが悪い可能性がありますか?