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

Hvordan sammenkædes kolonner korrekt ved hjælp af T-SQL?

Når du sammenkæder noget med en nul, returnerer den null. Så jeg forsøger at sammenkæde et komma med den givne kolonneværdi, og hvis det udtryk returnerer null, bruger jeg Coalesce til at returnere en tom streng. Til sidst, hvis jeg får en værdi, vil hele resultatet starte med et komma. Så jeg fjerner det komma ved hjælp af Stuff-funktionen.

Select Stuff(
    Coalesce(',' + FirstName,'')
    + Coalesce(',' + LastName,'')
    + Coalesce(',' + StreetAddress,'')
    + Coalesce(',' + City,'')
    + Coalesce(',' + Country,'')
    + Coalesce(',' + PostalCode ,'')
    , 1, 1, '')
From Client

Hvis du kun vil have adressen, vil du naturligvis kun inkludere disse kolonner:

Select FirstName, LastName
    , Stuff(
        Coalesce(',' + StreetAddress,'')
        + Coalesce(',' + City,'')
        + Coalesce(',' + Country,'')
        + Coalesce(',' + PostalCode ,'')
    , 1, 1, '')
From Client


  1. sql/mysql-filter, der kun inkluderer den maksimale værdi

  2. Byg en dynamisk opdateringsforespørgsel i psycopg2

  3. Sådan indsætter du json-output i mysql med node js

  4. Gem output fra sql-funktion til csv-fil (COPY) med dynamisk filnavn