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