【发布时间】:2017-06-07 07:47:46
【问题描述】:
我有两个表,table1 包含 22780 行。现在我将 join table1 与 table2 (不包含任何重复项)分开,得到 23588 行。
SELECT * FROM Table1
left join Tabelle6 ON CAST(Table1.Customer AS Int) = table2.Customer
为什么我现在得到更多行?我只需要 table1 中的每一行一次。
编辑:发现我的问题,表 2 确实包含重复项。但是有没有办法只加入每行一次并忽略任何进一步的匹配?
【问题讨论】:
-
缩小
SELECT *以仅选择所需字段后DISTINCT是否足够? -
感谢您的提示!如果我理解正确,这仅在 table2 包含完整的重复行时才有效,对吗?
-
有了这么多的信息,我只能给出一个方法,你必须做其他的事情。以 Tim 的第二个例子,将 Table 替换为
SELECT MIN(id) AS id, NeededField FROM Table2 GROUP BY NeededField -
您能否提供更多信息以使这个问题接近可回答?