Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie podrzędne serwera sql ze zbiorem wyników oddzielonych przecinkami

Oto sztuczka, której używałem w przeszłości do robienia podobnych rzeczy. Użyj SUBSTRING funkcjonować.

    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

Zauważ, że 2 służy do odcięcia wiodącego przecinka, który podselekcja dodaje do pierwszego elementu, a 1000000 jest wybierane jako duża liczba, aby oznaczać „całą resztę ciągu”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupy dostępności AlwaysOn programu SQL Server:instalacja i konfiguracja. Część 2

  2. Jak ustawić poniedziałek jako pierwszy dzień tygodnia w SQL Server

  3. String_agg dla SQL Server przed 2017 r.

  4. Procedura składowana T-SQL, która akceptuje wiele wartości identyfikatorów

  5. Używanie sp_help_schedule w SQL Server