Site Sponsored By: SQLDSC - SQL Server Desired State Configuration
Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
hi there i have to tablesand i want to create a inner join between themtable called carsidcar make 1 audi 2 bmw 3 ferrari table called "Questions"idquestion idcar date (mm/dd/year) city20 2 01/01/2012 miami45 3 01/30/2012 london302 2 05/16/2012 milan312 3 05/18/2012 ibizai want to do a inner join between the 2 tables question.idcar=cars.idcar but only with the max(idquestion)thats the result that i wantcar.idcar car.make question.idquestion question.city2 bmw 302 milan3 ferrari 312 ibizathanks for readingand many many thanks for your helpkind regards
khtan
In (Som, Ni, Yak)
17689 Posts
Posted - 2012-05-18 : 23:06:48
[code]select idcar, make, idquestion, cityfrom( select c.idcar, c.make, q.idquestion, q.city, rn = row_number() over (partition by c.idcar order by q.date desc) from cars c inner join questions q on c.idcar = q.idcar) dwhere d.rn = 1[/code]KH[spoiler]Time is always against us[/spoiler]
vijays3
Constraint Violating Yak Guru
354 Posts
Posted - 2012-05-19 : 07:15:52
Another way but bit complex
SELECT C.CAR,C.ID,Q3_IDQUESTION,Q3_CITY FROM #CAR C INNER JOIN (SELECT Q.IDCAR AS Q3_IDCAR ,Q1.IDQUESTION AS Q3_IDQUESTION ,Q1.CITY AS Q3_CITY FROM #QUESTION Q1 INNER JOIN(SELECT IDCAR,MAX(IDQUESTION) IDQUESTION FROM #QUESTION GROUP BY IDCAR) Q ON Q.IDQUESTION = Q1.IDQUESTION)Q3 ON C.ID = Q3.Q3_IDCAR