I have big SQL professional working experience, Job you requested is easy so I already resolved the problem.
Test data will be:
DECLARE @linqTable TABLE(ID INT, Value int)
INSERT INTO @linqTable VALUES (1,11)
INSERT INTO @linqTable VALUES (1,12)
INSERT INTO @linqTable VALUES (1,13)
INSERT INTO @linqTable VALUES (1,14)
DECLARE @MainTable TABLE(ID INT, Value nvarchar(10))
INSERT INTO @MainTable VALUES (1,'Name1')
DECLARE @CategoryTable TABLE(ID INT, CatName nvarchar(10))
INSERT INTO @CategoryTable VALUES (11,'cat1')
INSERT INTO @CategoryTable VALUES (12,'cat2')
INSERT INTO @CategoryTable VALUES (13,'cat3')
INSERT INTO @CategoryTable VALUES (14,'cat4')
What You need is SELECT statement that I will send you.
Best regards,
Seabytes