Si vous faites cette requête dans SQL Server, vous obtiendrez 15 colonnes différentes, une pour chaque code postal.
SELECT 'CB89RX', 'CB259BL', 'CB19BF', 'CB245HS', 'CB30AP', 'CB12LJ', 'CB21RB', 'CB28PX', 'CB28PE', 'CB250HX', 'CB231HN', 'CB58TD', 'CB246AY', 'CB42QT', 'CB249JA' AS A
Ce que je veux, c'est une colonne contenant les 15 valeurs. Comment puis-je faire cela?
4 Réponses :
Vous pouvez essayer d'utiliser UNPIVOT
select u.postcode from tablename unpivot ( postcode for val in (CB89RX, CB259BL, CB19BF, CB245HS, CB30AP, CB12LJ, CB21RB, CB28PX, CB28PE, CB250HX, CB231HN, CB58TD, CB246AY, CB42QT, CB249JA) ) u;
Vous pouvez utiliser l'union:
SELECT 'CB89RX' as PostalCode Union Select 'CB19BF' as PostalCode Union Select 'CB245HS' as PostalCode Union ...
Essayez ceci pour éviter l'utilisation répétée de comme .
SELECT 'CB89RX' as A union select 'CB259BL' union select 'CB19BF' union select 'CB245HS' union select 'CB30AP' union select 'CB12LJ' union select 'CB21RB' union select 'CB28PX' union select 'CB28PE' union select 'CB250HX' union select 'CB231HN' union select 'CB58TD' union select 'CB246AY' union select 'CB42QT' union select 'CB249JA'
Je voudrais utiliser From .... VALUES
Select val From ( VALUES ('CB89RX'), ('CB259BL'), .... ) AS T (val)
Merci, je l'aime le plus parce que je peux ensuite appliquer la commande par etc.
de quelle version de serveur SQL s'agit-il?
Juste pour être clair: vous voulez une valeur par ligne (15 lignes / 1 colonne) et non concaténée en une seule valeur (1 ligne / 1 colonne)?