I think Rank is in the wrong table, or your missing or...try thisUSE NorthwindGOCREATE TABLE xCATEGORY ( CatCode int IDENTITY(1,1) , CatName varchar(50) , CatRank int)CREATE TABLE xCATITEM ( CatCode int , ItemNum int)CREATE TABLE xITEMMAST ( ItemNum int IDENTITY(1,1) , ItemDesc varchar(50))GOINSERT INTO xITEMMAST (ItemDesc)SELECT 'SQL For Smarties' UNION ALLSELECT 'ADMIN 911' UNION ALLSELECT 'The Gurus...HTML' UNION ALLSELECT 'Margaritas...Mans best freind' UNION ALLSELECT 'The zen of Margarita mixing' UNION ALLSELECT 'Tequila Sunrise...a margarita by any other name..'INSERT INTO xCATEGORY (CatName, CatRank)SELECT 'General',1 UNION ALLSELECT 'COMP 101',2 UNION ALLSELECT 'ADV COMP',3 UNION ALLSELECT 'Lounge Lizards',1 UNION ALLSELECT 'Bartending 101',2 UNION ALLSELECT 'How not to drink your profits',3INSERT INTO xCATITEM (CatCode, ItemNum)SELECT 1,3 UNION ALLSELECT 2,3 UNION ALLSELECT 3,3 UNION ALLSELECT 4,6 UNION ALLSELECT 5,6 UNION ALLSELECT 6,6GOSELECT CatRank, CatName, ItemDesc FROM XCATEGORY a JOIN xCATITEM b ON a.CatCode = b.CatCode JOIN xITEMMAST c ON b.ItemNum = c.ItemNum JOIN (SELECT ItemNum, MAX(CatRank) AS MAX_CatRank FROM XCATEGORY d JOIN xCATITEM e ON d.CatCode = e.CatCode GROUP BY ItemNum) AS XXX ON XXX.ItemNum = b.ItemNum AND XXX.MAX_CatRank = a.CatRankGODROP TABLE xITEMMASTDROP TABLE xCATEGORYDROP TABLE xCATITEMGO
Brett8-)