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

Livres SQL Server Discussion :

Changer de prix pour chaque genre de livre


Sujet :

Livres SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Changer de prix pour chaque genre de livre
    bonjours a tous, je veux que vous m'aidiez.

    j'ai une table "Livre" dans cette derniere il y a un attribut (Prix_livre),
    ce que je veux : c'est augmenter le prix des livre par un pourcentage pour chaque genre de livre (ex : sport de 5%, Littérature de 6%, informatique de 3% ...)

    voila ce que j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Update Livre 
    Set Prix_livre = prix_livre + prix_livre*0.03
    Where Genre_livre = 'informatique'
    mais ce que je veux moi c de modifier tous les prix des livres dans une seule suite d'instruction (ne pas les répéter pour chaque type de livre).

    alors aider moi SvP ! et merci !

  2. #2
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2003
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2003
    Messages : 583
    Points : 566
    Points
    566
    Par défaut
    Ce que tu veux, c'est donc utiliser la requête que tu es écrite, mais sans la clause where, non ?

  3. #3
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    ce que je veux c de d'ajouter pour chaque genre de livre son pourcentage

    sans répéter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Update Livre
    Set Prix_livre = prix_livre + prix_livre*(pourcentage)
    Where Genre_livre = 'genre'
    pour chaque type de livre !

    les modifier tous dans une seule suite d'instruction ! et merci

  4. #4
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2003
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2003
    Messages : 583
    Points : 566
    Points
    566
    Par défaut
    En fait, je ne demandais pas plus d'explications, je proposais une solution...

    Je vais toutefois ajouter d'autres propositions :
    1) mettre un titre explicite, ça aide...
    2) utiliser les balises code, ça aide...

    Donc, j'explicite ma proposition :
    c'est donc utiliser la requête que tu es écrite, mais sans la clause where, non ? Parce que la clause where sert à faire une restriction, dans ton cas, une restriction à un genre; Or, tu veux que ce soit pour tous les gens. Donc, est-ce que ta requête, en enlevant la clause where, ne correspond pas à ta demande ?

  5. #5
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Monstros Velu Voir le message

    Or, tu veux que ce soit pour tous les gens.
    c'est exactement ce que je veux, desole si j'ai pas bien compris ce que vous me disiez

  6. #6
    Expert confirmé Avatar de 7gyY9w1ZY6ySRgPeaefZ
    Homme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    4 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 4 768
    Points : 5 790
    Points
    5 790
    Par défaut
    Voilà, j'ai fait ton devoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    with sr as 
    ( select 'info' type, 5 taux 
    union select 'machin' type, 2 taux )
    update livres
    set prix_ttc = AA.prix * (1 + sr.taux /100.0)
    from LIVRES AA
    join SR
    	on SR.type = AA.type

  7. #7
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    Voilà, j'ai fait ton devoir :


    mais est ce que vous pouvez m'expliquer un peux ? , car je suis vraiment noob

  8. #8
    Expert confirmé Avatar de 7gyY9w1ZY6ySRgPeaefZ
    Homme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    4 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 4 768
    Points : 5 790
    Points
    5 790
    Par défaut
    Citation Envoyé par thehurrica Voir le message


    mais est ce que vous pouvez m'expliquer un peux ? , car je suis vraiment noob
    qu'est ce que vous ne comprenez pas ?

  9. #9
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    comme : : c'est quoi sr

    je veux que vous utiliserez mes attributs :

    Livre (prix_livre, Genre_livre) pour bien comprendre, et désole si je t'ai derenge.
    merci encore !

  10. #10
    Expert confirmé Avatar de 7gyY9w1ZY6ySRgPeaefZ
    Homme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    4 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 4 768
    Points : 5 790
    Points
    5 790
    Par défaut
    Pour le with : http://msdn.microsoft.com/en-us/library/ms175972.aspx
    SR c'est juste un alias, j'aurais pu mettre toto ou titi !

    Citation Envoyé par thehurrica Voir le message
    je veux que vous utilisiez mes attributs :
    Je vous mâche le boulot, alors faites tout de même un minimum d'effort de votre côté pour adapter le code à vos besoin, il ne faut pas exagérer...

  11. #11
    Membre à l'essai
    Inscrit en
    décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    vous m'avez pas compris, ce que je voulais dire est ce que sr est le nom de la table ?

    SVP ! réécrivez moi ce "code" sans les nom attributs et les tables genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE (nom de la_table) 
    SET (nom_colonne)  = nom_colonne + nom_colonne 5%
    WHERE Genre_livre = (quelquon que)
    et désole encore pour le dérangement !

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 927
    Points : 1 114
    Points
    1 114
    Par défaut
    Bonjour
    Alors With sr c'est une façon de faire comme si on avait une vue sr contenant quelquechose.
    En l'occurence dans sr tu as une table de correspondance.
    Si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WITH sr AS 
    ( SELECT 'info' type, 5 taux 
    union SELECT 'machin' type, 2 taux )
    Tu obtiendras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    type	taux
    info	5
    machin	2
    Et donc ce que te proposes, Jerome_Mtl c'est de mettre à jour ta table Livres à partir de cette table de correspondance.
    Tu devrais essayer d'être plus calme dans tes réponses.
    "SVP ! réécrivez moi ce "code" ne donnes pas du tout envie de t'aider.
    Peut-être devrais tu nous donner le contexte. C'est un exercice que tu dois rendre, c'est un exercice pour t'entrainer?
    J'ai vu dans un autre post que tu demandais si une solution avec un case marcherait.
    Nous ne pouvons pas deviner que tu es en train d'apprendre le case.
    Et pour finir une autre façon d'écrire qui revient à la même chose que ce que Jerome_Mtl a écrit mais en utilisant tes noms de colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE livres
    SET prix_livre = AA.prix * (1 + sr.taux /100.0)
    FROM LIVRES AA
    JOIN ( SELECT 'info' Genre_livre, 5 taux 
    	union SELECT 'machin' Genre_livre, 2 taux 
         ) as SR
    	ON SR.Genre_livre = AA.Genre_livre
    Voilà
    Soazig

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/01/2004, 22h02
  2. [Composants] TRichEdit: Une police pour chaque ligne
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/03/2003, 16h59

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