IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Couple de lignes en colonnes


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 126
    Points : 54
    Points
    54
    Par défaut Couple de lignes en colonnes
    Bonjour,
    je voudrais savoir s'il n'y a pas un moyen simple de convertir une serie de couple de lignes en colonnes :

    Exemple

    Resultat
    456
    123
    987
    345
    675
    98

    En
    P1 P2
    456 123
    987 345
    675 98
    ...

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Regarde la fonction "PIVOT".
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si c'est la seule colonne de la table, on peut y adjoindre une colonne de type entier ayant la propriété d'auto-incrémentation, ce qui permet de spécifier une auto-jointure, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    DECLARE @nombres TABLE
    (
    	id int NOT NULL IDENTITY
    	, nombre smallint NOT NULL
    )
     
    INSERT INTO @nombres
    VALUES (456), (123), (987), (345), (675), (98)
     
    SELECT		A.nombre AS P1
    		, B.nombre AS P2
    FROM		@nombres AS A
    INNER JOIN	@nombres AS B
    			ON A.id + 1 = B.id
    WHERE		A.id % 2 = 1
    S'il n'est pas possible d'ajouter la colonne à la table, on peut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    DECLARE @nombres TABLE
    (
    	nombre smallint NOT NULL
    );
     
    INSERT INTO @nombres
    VALUES (456), (123), (987), (345), (675), (98);
     
    WITH
    	CTE AS
    	(
    		SELECT	nombre
    			, ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS n
    		FROM	@nombres
    	)
     
    SELECT		A.nombre AS P1
    		, B.nombre AS P2
    FROM		CTE AS A
    INNER JOIN	CTE AS B
    			ON A.n + 1 = B.n
    WHERE		A.n % 2 = 1;
    @++

Discussions similaires

  1. [T-SQL] Convertir des lignes en colonne
    Par cortex93 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/12/2005, 16h17
  2. Supprimer toutes les lignes et colonnes d'un tableau
    Par pekka77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/12/2005, 11h26
  3. Tableau 5 lignes * 3 colonnes
    Par slackjayo dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 05/04/2005, 11h27
  4. Demande de conseil pour migration de lignes vers colonnes
    Par ririd dans le forum Administration
    Réponses: 6
    Dernier message: 04/11/2004, 17h02
  5. [TSynMemo] Positionnement par ligne et colonne
    Par Mercilius dans le forum Composants VCL
    Réponses: 9
    Dernier message: 16/04/2003, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo