レコードに結合したい2つのテーブル間に1対多の関係があります。FooというテーブルとBarというテーブルがあるとします。Fooにはいくつかのコンテンツが含まれ、Barにはこのコンテンツへのコメントが含まれています。ここで、最初のコメントと一緒にすべてのコンテンツをリストしたいと思います。
これは私がこれまでに試したことです:
SELECT T0.[Content], T1.[Comment]
FROM [Foo] I0
INNER JOIN [Bar] T1 ON T1.[ContentCode] = T0.[Code]
それは私に多くのコメントで複数回すべての内容を与えます。言い換えれば、私は「すべてのコメントをそれらを表すコンテンツと組み合わせる」と言っています。私が達成しようとしているのは、「1つのコメントだけをコンテンツと組み合わせる」ということです。だから私はこれを試しました:
SELECT DISTINCT T1.[CommentCode], T0.[Content], T1.[Comment]
FROM [Foo] I0
INNER JOIN [Bar] T1 ON T1.[ContentCode] = T0.[Code]
これは正常に機能します。を使用すると、 BarORDER BY
で見つかった最初または最後のレコードを使用するようにクエリに指示できます。
しかし、何らかの理由DISTINCT
で、私たちが使用を余儀なくされているデータベースアダプタではサポートされていません。
結合された関係の右側の結果を制限する別の可能性に直面していますか?
前もって感謝します!:)
編集:
私はMSSQLServer2008(R2)を使用していますが、SAP Business OneDIAPIを使用してアクセスしています。これにより、T-SQLの使用が制限されます。