sql >> Database >  >> RDS >> Sqlserver

sql server subquery met een door komma's gescheiden resultatenset

Hier is een truc die ik in het verleden heb gebruikt om soortgelijke dingen te doen. Gebruik SUBSTRING functie.

    SELECT n.nominationID
        , SUBSTRING((
                            SELECT ',' + naf.awardFocusName
                            FROM NominationAwardFocus naf
                            JOIN AwardFocus af
                                ON naf.awardFocusID = af.awardFocusID
                            WHERE n.nominationID = naf.nominationID
                            FOR XML PATH('')

                        ), 2, 1000000)
    FROM Nomination n

Merk op dat de 2 wordt gebruikt om de eerste komma af te hakken die de subselectie toevoegt aan het eerste item, en 1000000 wordt gekozen als een groot getal om "de rest van de reeks" aan te duiden.



  1. Hoe PL/SQL SYS_REFCURSOR in Oracle Database aan te maken?

  2. MAX functie in waar clausule mysql

  3. Hoe de dataset te vullen met C# uit de Oracle-database

  4. Hoe ON CONFLICT werkt in SQLite