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.
I have three tables and two seperate SQL queries which are working correctly and I am having correct results. If I try to join these three tables I am having null as result.First query:select T1.ID,T3.COMPANYfrom T1,T3where (T1.status!='CLOSED') and (T1.PRIORITY)>5 and T1.CLASSID=T3.CLASSIDSecond query:SELECT T1.ID, T2.DESCRIPTION FROM T1LEFT OUTER JOIN T2ON T1.ID=T2.KEY WHERE T1.status!='CLOSED' AND (T2.CREATEDATE= (SELECT MAX(CREATEDATE) FROM T2WHERE T2.KEY=T1.ID))I tried to join them but as result I am having null:select T1.ID,T3.COMPANY,T2.DESCRIPTION from T1INNER JOIN T3 ON T1.CLASSID=T3.CLASSIDLEFT OUTER JOIN T2ON T1.ID=T2.KEY where (T1.status!='CLOSED') AND (T1.PRIORITY)>5AND (T2.CREATEDATE= (SELECT MAX(CREATEDATE) FROM T2WHERE T2.KEY=T1.ID))What am I doing wrong? Thanks for help
RickD
Slow But Sure Yak Herding Master
3608 Posts
Posted - 2012-03-19 : 07:05:04
You are turning your l;eft join into an inner join in your Where clause, try this instead:
select T1.ID,T3.COMPANY,T2.DESCRIPTION from T1INNER JOIN T3 ON T1.CLASSID=T3.CLASSIDAND (T1.status!='CLOSED') AND (T1.PRIORITY)>5LEFT OUTER JOIN T2ON T1.ID=T2.KEY AND (T2.CREATEDATE= (SELECT MAX(CREATEDATE) FROM T2 WHERE T2.KEY=T1.ID))