【发布时间】:2019-11-30 06:36:39
【问题描述】:
我需要从 sql 查询中删除具有最大 ID 的最后一行。我该怎么做?我尝试以下查询。但它没有生成记录
SELECT a.DocEntry, a.Project, a.DocTotal, a.U_Installement
FROM OPCH AS a
LEFT JOIN PCH1 AS b
ON b.DocEntry = a.DocEntry
LEFT JOIN OPOR AS c
ON c.DocEntry = b.BaseEntry
AND a.Project = c.Project
WHERE a.CANCELED = 'N'
AND a.Project = c.Project
GROUP BY a.DocEntry, a.Project, a.DocTotal, a.U_Installement
HAVING MAX(a.DocEntry) <> a.DocEntry;
【问题讨论】:
-
你实际上在哪个表中有这个id,我的意思是你的表名和列名
-
样本数据和期望的结果在这里会有很大帮助。
-
当您将
LEFT JOIN转换为WHERE中的隐式内部连接时,为什么会有LEFT JOIN到OPOR?还有Bad habits to kick : using table aliases like (a, b, c) or (t1, t2, t3).
标签: sql sql-server