我想在记录中组合的两个表之间存在一对多的关系。假设我有一张名为Foo的桌子和另一张名为Bar的桌子。Foo包含一些内容,Bar包含对此内容的评论。现在我想列出所有内容以及第一条评论。
这是我到目前为止所尝试的:
SELECT T0.[Content], T1.[Comment]
FROM [Foo] I0
INNER JOIN [Bar] T1 ON T1.[ContentCode] = T0.[Code]
这给了我多次评论的所有内容。换句话说,我说的是“将所有评论与其代表内容结合起来”。我想要实现的是说“只将一条评论与内容结合起来”。所以我尝试了这个:
SELECT DISTINCT T1.[CommentCode], T0.[Content], T1.[Comment]
FROM [Foo] I0
INNER JOIN [Bar] T1 ON T1.[ContentCode] = T0.[Code]
这工作正常。使用ORDER BY
我可以告诉查询使用在Bar中找到的第一条或最后一条记录。
但由于某种原因DISTINCT
,我们被迫使用的数据库适配器不支持。
您是否面临另一种限制连接关系右侧结果的可能性?
提前致谢!:)
编辑:
我在 MSSQL Server 2008 (R2) 上,但使用 SAP Business One DI API 访问它。这限制了 T-SQL 的使用。