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 :

[Split]Découper une colonne


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 47
    Points
    47
    Par défaut [Split]Découper une colonne
    Bonjour,

    voici mon problème:

    colonne 1 | colonne 2
    1 95
    2 95
    3 95
    4 95
    1 16
    2 16
    5 95
    3 16
    4 16

    J'aimerais obtenir ca :

    colonne 1 | colonne 2 | colonne 3
    1 95 NULL
    2 95 NULL
    3 95 NULL
    4 95 NULL
    1 NULL 16
    2 NULL 16
    5 95 NULL
    3 NULL 16
    4 NULL 16

    Est ce que cela est possible sans utiliser de curseur ?
    Si quelqu'un a une piste ?

    Merci d'avance

    Cordialement

  2. #2
    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 : 43
    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
    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
    CREATE TABLE toto(i tinyint, flag tinyint)
    GO
     
    INSERT INTO toto VALUES (1, 95), (2, 95), (3, 95), (4, 95), (1, 16), (2, 16), (5, 95), (3, 16), (4, 16)
    GO
     
    ALTER TABLE toto ADD splitted tinyint
    GO
     
    UPDATE	toto
    SET	flag = CASE flag
    			WHEN 95 THEN flag
    			ELSE NULL
    		END
    	, splitted = CASE flag
    			WHEN 16 THEN flag
    			ELSE NULL
    		END
    GO
     
    SELECT * FROM toto

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 47
    Points
    47
    Par défaut
    Enfait j'ai oublier une précision ... c'est que le 95 et 16 sont suceptibles de bouger

    ex:
    colonne 1 | colonne 2
    1 95
    2 95
    3 95
    4 95
    1 16
    2 16
    5 95
    3 16
    4 16
    1 20
    2 20
    3 20
    . .
    . .
    . .
    et a la fin on obtiendrais un truc dans ce gout la
    colonne 1 | colonne 2 | colonne 3
    1 95 NULL
    2 95 NULL
    3 95 NULL
    4 95 NULL
    1 NULL 16
    2 NULL 16
    5 95 NULL
    3 NULL 16
    4 NULL 16
    1 20 NULL
    2 20 NULL
    3 20 NULL
    . . .
    . . .
    . . .

    merci d'avance

    cordialement

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Expliquez nous la logique à suivre pour obtenir le résultat, svp.

Discussions similaires

  1. [SSIS] [2K5] Split d'une colonne en plusieurs
    Par plouffy dans le forum SSIS
    Réponses: 2
    Dernier message: 23/04/2009, 14h41
  2. Réponses: 1
    Dernier message: 15/05/2008, 11h48
  3. Découper une colonne en Quatre
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 02/09/2006, 13h14

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