内部結合から奇妙な結果が得られます。SQLは次のとおりです。
SELECT cm.PersonID
FROM dbo.vwCommitteeMembers cm
-- first join
INNER JOIN dbo.vwCommitteeTerms ct
ON (ct.CommitteeID = cm.CommitteeID)
-- second join
INNER JOIN dbo.vwCommitteeTermMembers ctm
ON (ct.ID = ctm.CommitteeTermID)
WHERE cm.CommitteeID = 124
両方の結合をコメントアウトすると、24 個の結果が得られます。最初の結合のコメントアウトを解除すると (2 番目の結合はコメントアウトしたままにする)、24 の結果も得られます。ただし、両方の結合がコメント化されていない場合、結果は576に膨らみます。SQL Server 2008 データベース用に、Windows 7 Pro x64 ワークステーションで SQL Server Management Studio 2008 を使用しています。SSMS が何らかの方法でクエリを最適化しようとしているように感じますが、根本的な原因を知りたいので、今後この問題は発生しません (これが初めてではないため)。 . 私は問題に「近すぎる」と思っていたので、同僚にも見てもらいましたが、彼らも問題ないようだと思っていました。
ありがとう!