1
需要一些帮助,这里是我的SQL如下:我得到重复回来,它不会返回我的LastRespondedDate字段。任何帮助将不胜感激。SQL HELP获取重复时试图获取最大(日期)记录
SELECT t.[column1],
pr.[column1],
pr.[RespondedDttm],
t.[column2],
t.[column3],
t.[column4]
FROM Table1 t LEFT JOIN
(
SELECT [t.column1], [pr.column2], [RespondedDttm], MAX([RespondedDttm]) AS LastRespondedDate
FROM Table2 pr
GROUP BY [column1], RespondedDttm, [pr.column3]) pr
ON (t.[column1] = pr.[column1])
WHERE t.[column8] IN (value) AND
(pr.[RespondedDttm] >= '2015-09-01') AND
(pr.[Response] IS NOT Null)
这个简短的解释是,你不能所有的数据与最大日期在一个回传。您需要一次传球才能确定该日期的记录,并且需要第二次传球才能恢复记录的其余部分。以另一种方式做它返回所有唯一的记录。这只会破坏Max的目的。 – durbnpoisn
为什么在内部选择t.column1? T应该是未知的 – xQbert
什么rdbms /数据库? sql-server的oracle的MySQL?带窗口函数的@durbnpoisn你当然可以获得数据集的最大值,而不需要分组或多次传递,因此它取决于使用哪个rdbms。有了这个说法,如果他试图消除重复,那么关键将是选择一个特定的条件组合,只会返回表1中的1个不同的记录/信息pr – Matt