sql >> Database teknologi >  >> RDS >> Sqlserver

sql server underforespørgsel med et kommasepareret resultatsæt

Her er et trick, jeg tidligere har brugt til at gøre lignende ting. Brug SUBSTRING fungere.

    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

Bemærk, at 2'eren bruges til at afskære det foranstillede komma, som undervalget føjer til det første element, og 1000000 er valgt som et stort tal for at betyde "hele resten af ​​strengen".



  1. Java ZonedDateTime gemmer i databasen

  2. Sådan rettes "Serveren er ikke konfigureret til DATAADGANG" i SQL Server

  3. PHP- og MYSQL-databaseforbindelse og tabeloprettelse kun én gang

  4. Hvordan kan jeg slette dublerede rækker i en tabel