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

Langage SQL Discussion :

Besoin d'aide pour un débutant


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Points : 50
    Points
    50
    Par défaut Besoin d'aide pour un débutant
    Bonjour,

    J'ai besoin de votre aide.
    Je suis en dépannage urgent et je tombe sur un pb que je ne maitrise pas trop.
    Voilà, j'ai une table qui contient énormément de champ et que je dois modifier.
    Si je fais cela en "manuel", j'en ai pour 3 jours!
    Alors, je pensais faire une requète SQL pour faire ceci, mais, dans l'état de mes compétences actuelles.... je sèche....
    Alors, si une bonne âme voudrait bien me donner un coup de main, ça me dépannerai bien... Et c'est promis, je vais me mettre plus sérieusement au SQL, pour maitriser un peu plus la chose, au cas où....

    Voilà, j'ai une table de ce type :
    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
     
    STEPID	STEPPARAMID	MODULEID	TEXTVALUE
    54		1		P1		600
    54		3		P1		True
    54		6		P1		675
    54		7		P1		800
    54		8		P1		2
    54		9		P1		2
    54		14		P1		2
    54		15		P1		2
    54		35		P1		150
    54		37		P1		200
    54		54		P1		300
    54		57		P1		200
    54		117		P1		1
    Je voudrais faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Si STEPPARAMID=35 alors STEPPARAMID=256
    pour les enreg. ou (pour le même STEPID, il existe l''enreg. ou STEPPARAMID=14 et TEXTVALUE="2")
     
    Par exemple, ci dessus, le champ STEPPARAMID de la ligne 9 sera modifiée, car la ligne 7 a le même STEPID et TEXTVALUE vaut 2
    Je suis sûr que c'est pas très compliqué... quand on sait comment il faut faire.
    Alors je vous remercie d'avance de votre bon coeur.
    Ca m'enlevera une grosse épine du pied

    Thanks
    Dom

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Il faudrait eclaircir un peut votre demande, je suis pas sur d'avoir bien saisi.

    Ce que j'en ai compris :
    Si STEPPARAMID=35 alors STEPPARAMID=256
    Indépendamment du reste, vous voulez remplacer tous les STEPPARAMID dont la valeur est 35 par 256?
    Si oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE NomTable
    SET STEPPARAMID = 256
    WHERE STEPPARAMID = 35
    Ensuite :
    pour les enreg. ou (pour le même STEPID, il existe l''enreg. ou STEPPARAMID=14 et TEXTVALUE="2")

    Par exemple, ci dessus, le champ STEPPARAMID de la ligne 9 sera modifiée, car la ligne 7 a le même STEPID et TEXTVALUE vaut 2
    Pourquoi celui de la ligne 9 sera modifié, et pas les autres?
    Et aussi, le modifier en remplaçant par quoi?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par Snipah Voir le message
    Il faudrait eclaircir un peut votre demande, je suis pas sur d'avoir bien saisi.
    C'est vrai que je ne suis pas très très clair... Désolé, j'ai un peu du mal...fatiguéééééé!

    Citation Envoyé par Snipah Voir le message
    Indépendamment du reste, vous voulez remplacer tous les STEPPARAMID dont la valeur est 35 par 256?
    Si oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE NomTable
    SET STEPPARAMID = 256
    WHERE STEPPARAMID = 35
    Oui, sauf que je ne veux pas modifier TOUS les enreg. ou STEPPARAMID=35, mais, (c'est là que je ne sais pas trop comment expliquer clairement...) dans cette enreg., je vais récuperer le STEPID (appelons le MonStepID), puis si je peux trouver un enreg. ou (STEPID=MonSTepID) et (STEPPARAMID=14) et (TEXTVALUE="2") alors, je modifie mon enreg. de départ... (bon sang, que je me sens boulet à ne pas trouver comment expliquer clairement ceci...)

    En espérant que ce soit un ch'ti peu plus clair...
    En tout cas, merci d'essayer de m'aider.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Je le ferai ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE <NomTable>
    SET STEPPARAMID = 256
    WHERE STEPPARAMID = 35
    AND STEPID IN (SELECT STEPID FROM <NomTable>
                   WHERE STEPPARAMID = 14
                   AND TEXTVALUE = '2')

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Points : 50
    Points
    50
    Par défaut
    YES!

    Merci Waldar.
    Merci Snipah.

    C'est le IN qui me manquait et que je ne maitrise pas....

    A bientôt.

    Dom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] besoin d'aide pour un programme
    Par acdchornet dans le forum C++
    Réponses: 12
    Dernier message: 26/10/2006, 23h32
  2. [Débutant] Besoin d'aide pour modifier un jeu
    Par stoff66 dans le forum Assembleur
    Réponses: 9
    Dernier message: 31/08/2006, 19h24
  3. [Débutant]Besoin d'aide pour gestion d'exceptions
    Par H1B4K dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 11h01
  4. Besoin d'aide pour un débutant en procédure stockée
    Par el gringo dans le forum Débuter
    Réponses: 2
    Dernier message: 06/04/2006, 12h17
  5. [débutant].besoin d'aide pour servlet
    Par 2tsiris dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/03/2006, 15h36

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