我有一个Select查询(许多字段和一些计算的字段),该查询通过一个不重要的Where子句和Order By子句连接许多表。根据用户过滤器的不同,它可以基于其中一个联接表的ID返回重复记录。我想消除所有具有重复table1.ID
值的结果行。
示例:
Select a.fld1, b.fld2, c.fld3, d.fld4 from (((tablea join tableb on a.x=b.x)
join tablec on c.x=a.x) join tabled on d.x=a.x where blah-blah.
这将返回:
a.fld1, b.fld2, c.fld3, d.fld4
1, 2, 3, 4
1, 21, 3, 4
2, 2, 3, 4
2, 22, 3, 4
我想消除重复的a.fld1值引起的多余行。 b.fld2会有所不同,我不在乎其中哪些记录被遗漏了。但是我确实需要b.fld2中至少有一个值用于其他查找目的。
我似乎找不到一个很好的方法来做到这一点。
谢谢, 杰夫
答案 0 :(得分:0)
(也许我通常可能会以注释的形式编写此提议的解决方案,但是目前,我仍然需要更高的声誉才能编写注释。)
仅查看输出,就好像可以使用已有的SQL并将其全部用作新SQL语句中的子查询一样,该SQL语句在第一个字段上进行分组(并获得第一个值或最小值或只要您认为适合其他字段,只要结果行中不同字段中的数据可能来自不同的记录,就可以了...