SELECT c.*, h.*FROM Contact cOUTER APPLY ( SELECT TOP 1 h.* FROM History h WHERE h.Accountno = c.Accountno ORDER BY h.LastDate DESC) x
SELECT c.*, x.*FROM Contact cOUTER APPLY ( SELECT TOP 1 h.* FROM History h WHERE h.Accountno = c.Accountno ORDER BY h.LastDate DESC) x
SELECT c.Accountno,C.Company,C.Contact,C.Recid,H.lastuser,H.lastdateFROM contact CLEFT JOIN history h ON C.accountno=h.accountnoLEFT JOIN (SELECT accountno,MAX(lastdate) AS lastdate FROM history GROUP BY accountno) mx ON h.accountno=mx.accountno AND h.lastdate=mx.lastdate
SELECT accountno,MAX(lastdate) AS lastdateFROM historyGROUP BY accountno
SELECT c.Accountno,C.Company, C.Contact,C.Recid,H.lastuser,H.lastdateFROM contact CLEFT JOIN history h ON C.accountno=h.accountno and h.RECID IN (....
select h.*, c.* from Contact c inner join ( select top 1 h1.* from History h1 inner join (select Accountno, max(LastDate) LastDate from History group by Accountno) L on h1.Accountno = L.Accountno and h1.LastDate = L.LastDate) h on h.Accountno = c.Accountno
SELECT c.Accountno, C.Company, C.Contact, C.Recid, H.lastuser, H.lastdateFROM contact CLEFT JOIN ( SELECT accountno, MAX(lastdate) AS lastdate FROM history GROUP BY accountno) mx ON mx.accountno = h.accountnoLEFT JOIN history h ON h.accountno = mx.accountno AND h.lastdate = mx.lastdate
CREATE TABLE #CONTACT ( ACCOUNTNO VARCHAR(5), COMPANY VARCHAR(50), CONTACT VARCHAR(50), RECID VARCHAR(5) ) CREATE TABLE #HISTORY ( ACCOUNTNO VARCHAR(5), LASTUSER VARCHAR(8), LASTDATE DATE, RECID VARCHAR(5) )INSERT INTO #CONTACT (ACCOUNTNO, COMPANY, CONTACT, RECID)SELECT 'C1', 'ACME', 'WILEY COYOTE', 'CR1' UNION ALLSELECT 'C2', 'Beta Ltd', 'Joe Soap', 'CR2'INSERT INTO #HISTORY (ACCOUNTNO, LASTUSER, LASTDATE, RECID)SELECT 'C1', 'JOE', '20120101', 'HR1' UNION ALLSELECT 'C1', 'BOB', '20120101', 'HR2' UNION ALLSELECT 'C1', 'JOE', '20120201', 'HR3' UNION ALLSELECT 'C2', 'JOE', '20120202', 'HR4' UNION ALLSELECT 'C2', 'BOB', '20120202', 'HR5'