需要帮助才能获得不同的记录:
位置表
posid | issuerid
----------------------其他表
OtherID | issuerid | issue_date
--------------------------------------,我想要
OtherID | issuerid | Posid
--------------------------------------对于某些发行人来说,Issue_date可能为空。我希望其他id,发行人id和位置,其中发行日期是最大的,如果有任何对发行人,否则为空。
发布于 2013-10-04 10:35:18
SELECT otherId, issuerId, posId
FROM (
SELECT issuerId, MAX(ISNULL(issueDate,'17530101')) maxDate
FROM otherTable
GROUP BY issuerId
) M
JOIN otherTable O ON O.issuerId = M.issuerId AND O.issueDate = M.maxDate
JOIN positionTable P ON P.issuerId = M.issuerId根据MS的说法,日期01/01/1753是SQL 2008日期时间字段中的最小值。当然,只要它小于表中最小的值,就可以使用任何值。
发布于 2013-10-04 10:43:24
SELECT OT.OtherID,PT.issuerid,PT.posid FROM [Position table] PT INNER JOIN [Other Table] OT ON PT.issuerid=OT.issuerid WHERE OT.issue_date IN
(SELECT MAX(issue_date) FROM [Other Table])发布于 2013-10-04 10:44:23
select a.orderid, a.issueid, b.posid
from other a, position b
where a.issueid=b.issueid
and (a.issuedate = (select max(c.issuedate) from other c where c.issueid = a.issueid)
or a.issuedate is null)https://stackoverflow.com/questions/19178567
复制相似问题