2011-04-20 174 views
0

我正在开发一个t-sql查询返回两个表的左连接,但是当我从表A中选择记录时,它只给出了2条记录。但问题是当我离开表B时,它给了我4条记录。我怎样才能减少到只有2记录?SQL查询检索DISTINCT行左加入

虽然一个问题是我只知道一个PK/FK链接这两个表。

+2

如果在PK-FK关系船上有两个匹配的记录,那么你显然会在父表中得到两行的一行。你可以发布两个表的DDL和你正在选择的列吗? – Chandu 2011-04-20 15:46:09

回答

2

您用于连接的字段在表B中必须存在多次 - 这就是连接中返回多行的原因。为了减少行数,您必须向连接添加更多字段,或者添加where子句来过滤不需要的行。

或者,您可以使用GROUP BY语句对行进行分组,但这可能不是您需要的。

0

请记住,左连接为您带来了来自连接表的空字段。 你也可以使用select(distinct),但是我看不出你的问题。你能给我们更多的细节吗?