• I worked on this for awhile and this was the best I could come up with...

    -- SAMPLE DATA

    IF OBJECT_ID('tempdb..#Weekday') IS NOT NULL DROP TABLE #Weekday; CREATE TABLE #Weekday(Weekday_id int identity primary key, [day] nvarchar(50));

    IF OBJECT_ID('tempdb..#SubjectToStudy') IS NOT NULL DROP TABLE #SubjectToStudy; CREATE TABLE #SubjectToStudy(Weekday_id int,[Subject] nvarchar(50));

    IF OBJECT_ID('tempdb..#output') IS NOT NULL DROP TABLE #output; CREATE TABLE #output(Weekday_id int, [day] nvarchar(50), classes nvarchar(255));

    INSERT INTO #Weekday VALUES(N'MONDAY'),(N'TUESDAY'),(N'WEDNESDAY');

    INSERT INTO #SubjectToStudy VALUES(1,N'PHYSICS'),(1,N'CHEMISTRY'),(1,N'MATHEMATICS'),(2,N'COMPUTERSCIENCE'),(2,N'BIOLOGY'),(3,N'BOTANY'),(3,N'PHYSICS')

    INSERT INTO #output

    SELECT w.Weekday_id, [day], s.[Subject]

    FROM #Weekday w

    JOIN #SubjectToStudy s ON w.Weekday_id=s.Weekday_id

    ORDER BY Weekday_id

    --THE ROUTINE:

    DECLARE @classlist nvarchar(300)='';

    UPDATE #output

    SET @classlist=classes=(CASE WHEN @classlist='' THEN [day]+' ' ELSE @classlist+' ' END)+classes

    FROM #output

    WHERE Weekday_id=1

    SET @classlist='';

    UPDATE #output

    SET @classlist=classes=(CASE WHEN @classlist='' THEN [day]+' ' ELSE @classlist+' ' END)+classes

    FROM #output

    WHERE Weekday_id=2

    SET @classlist='';

    UPDATE #output

    SET @classlist=classes=(CASE WHEN @classlist='' THEN [day]+' ' ELSE @classlist+' ' END)+classes

    FROM #output

    WHERE Weekday_id=3;

    ;WITH answer AS

    (SELECT m=DENSE_RANK() OVER (PARTITION BY Weekday_id ORDER BY LEN(classes) DESC),

    classes

    FROM #output)

    SELECT classes FROM answer

    WHERE m=1;

    --CLEANUP

    DROP TABLE #Weekday;

    DROP TABLE #SubjectToStudy;

    DROP TABLE #output

    GO

    Nice work k125

    "I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."

    -- Itzik Ben-Gan 2001