我试图得到一个查询来比较两个表的左外部加入两个并找到任何结果,没有在右表匹配。问题是我有一个TicketNo,ItemNo和UniqueID的组合键,我只需要比较任何给定TicketNo具有最高UniqueID的行。加入组合键的一部分的MAX值
我需要数据,所以我的程序知道是否需要更新工作副本表,以及需要更新哪些行,如果是这样。
基本上我想是这样的:
SELECT TicketNo
FROM History t1
LEFT OUTER JOIN Working t2 on
max(t1.[UniqueID])=t2.[UniqueID]
AND t1.[TicketNo]=t2.[TicketNo]
AND t1.[ItemNo]=t2.[ItemNo]
WHERE t2.[TicketNo] IS NULL
但我不能在这里使用的聚合函数最大值。我不知道如何使用子查询(或者CTE失败,但我更愿意使用子查询)仅获取给定TicketNo的最大唯一ID 。我不仅可以加入表中最高的uniqueID。
我的数据是这样的,假设一式两份:
TicketNo UniqueID ItemNo
15 1270662207 1
15 1184857061 1
在这种情况下,我只希望第一行返回。我不在乎我的工作表是否有TicketNo 15
的旧行。以这种方式使用GROUP BY和ORDER BY子句
嘿,你不必将它与我的数据相匹配。尽管如此,书呆子还是很有魅力。 – 2012-02-09 21:56:59