Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Sélectionnez plusieurs lignes SQL dans une seule ligne

La première méthode repose sur la variable, donc la réponse est non pour le premier.

Mais vous pouvez facilement utiliser la deuxième approche sans variable, il vous suffit de la modifier légèrement :

SELECT 
  SUBSTRING(
    (SELECT ';' + strContract FROM tblContractMail FOR XML PATH('')),
    2,
    2147483647
  )

Comme vous pouvez le voir, le séparateur va avant l'article. Par conséquent, vous commencez à couper la chaîne à partir du deuxième caractère, en omettant le premier point-virgule. Le spécificateur de longueur n'a pas besoin d'être précisément la longueur moins un, vous pouvez spécifier n'importe quel nombre assez grand, et la fonction renverra tout du deuxième caractère à la fin. Dans ce cas, le maximum int valeur a été spécifiée.