SELECT Temp.AddDate,Thread.NoThread,Thread.Title FROM (SELECT TOP 10 MIN(Thread.NoThread) AS NoThread,MAX(Thread.AddDate) AS AddDate,MAX(Thread.Numero) AS Numero FROM Thread WHERE Thread.AddDate>ldDate AND Thread.NoParent=0 AND (Thread.NoClient=44 OR Thread.NoClient=99 OR Thread.NoClient=51 OR Thread.NoClient=37 OR Thread.NoClient=10 OR Thread.NoClient=39 OR Thread.NoClient=32 OR Thread.NoClient=41 OR Thread.NoClient=16 OR Thread.NoClient=24 OR Thread.NoClient=50 OR Thread.NoClient=29 OR Thread.NoClient=28 OR Thread.NoClient=33 OR Thread.NoClient=38 OR Thread.NoClient=36 OR Thread.NoClient=35 OR Thread.NoClient=21 OR Thread.NoClient=17 OR Thread.NoClient=5 OR Thread.NoClient=9 OR Thread.NoClient=42 OR Thread.NoClient=52) GROUP BY Thread.NoThread ORDER BY 2 DESC) Temp INNER JOIN Thread ON Temp.NoThread=Thread.Numero ORDER BY Temp.AddDate DESCBut, if I add a condition in it for a sub query, it is slow.
SELECT Temp.AddDate,Thread.NoThread,Thread.Title FROM (SELECT TOP 10 MIN(Thread.NoThread) AS NoThread,MAX(Thread.AddDate) AS AddDate,MAX(Thread.Numero) AS Numero FROM Thread WHERE Thread.AddDate>ldDate AND Thread.NoParent=0 AND (Thread.NoClient=44 OR Thread.NoClient=99 OR Thread.NoClient=51 OR Thread.NoClient=37 OR Thread.NoClient=10 OR Thread.NoClient=39 OR Thread.NoClient=32 OR Thread.NoClient=41 OR Thread.NoClient=16 OR Thread.NoClient=24 OR Thread.NoClient=50 OR Thread.NoClient=29 OR Thread.NoClient=28 OR Thread.NoClient=33 OR Thread.NoClient=38 OR Thread.NoClient=36 OR Thread.NoClient=35 OR Thread.NoClient=21 OR Thread.NoClient=17 OR Thread.NoClient=5 OR Thread.NoClient=9 OR Thread.NoClient=42 OR Thread.NoClient=52) AND Thread.Numero NOT IN (SELECT Thread2.NoParent FROM Thread AS Thread2 WHERE Thread.Numero=Thread2.NoParent) GROUP BY Thread.NoThread ORDER BY 2 DESC) Temp INNER JOIN Thread ON Temp.NoThread=Thread.Numero ORDER BY Temp.AddDate DESCHow can I adjust it so it would be optimized?