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

Requêtes et SQL. Discussion :

Additionner des champs d'une meme table dans une seul requete [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut Additionner des champs d'une meme table dans une seul requete
    Bonjour à tous,
    Je voulais savoir s'il était possible d'additionner ou de soustraire des champs issue d'une meme table dans une seul requete. Je m'explique :
    dans la table Tb_Couts j'ai comme type de couts :
    - provisions pour stocks
    - autres provisions
    et j'aimerais les soustraire sans passer par 3 requetes (une requete qui me sorte les provisions pour stocks, une requete qui me sorte les autres provisions et la 3eme qui me fasse la soustraction entre les deux).
    J'ai fais des recherches sur ca mais je n'ai rien trouvé
    Merci à vous...

  2. #2
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Bonjour


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT cout1-cout2 AS total
    FROM tb_couts;

    C'est ça que tu veux???
    La machine obéit à vos ordres, pas à vos intentions.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut

    Oui voila. mais j'ai essayer et j'ai un #erreur au resultat. Je pense qu'il accepte pas de soustraire directement deux enregistrement issues de la meme table non ?

  4. #4
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Ah??
    Ca fonctionne pourtant bien chez moi....
    T'as pas des valeurs nulles?

    EDIT: je parle de valeurs "NULL", pas de valeurs = 0
    La machine obéit à vos ordres, pas à vos intentions.

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    En faite ton count1 represente mon provisions pour stock qui a ete traité auparavant dans une requete ? Ou c'est mon provisions pour stock brut ?

  6. #6
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Pour moi count1 c'est et provisions pour stocks et count2 c'est autres provisions
    La machine obéit à vos ordres, pas à vos intentions.

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    Oui oui je n'ai aucune valeur NULL. Je comprends pas j'ai toujours le #erreur. J'ai mis des "" entres les 2 champs mais c'est pareille

  8. #8
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    ....euh...

    On fait comme d'hab'?
    Tu envoies la base? je regarderais ça après manger.
    La machine obéit à vos ordres, pas à vos intentions.

  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    Je te mets un extrait de ma base ?

  10. #10
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Oui, je n'arrive pas a reproduire ton erreur, donc si tu m'envoies la base je devrais la voir cette erreur.
    La machine obéit à vos ordres, pas à vos intentions.

  11. #11
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    ok ok je te l'envoie j'ai nommée la requete : "Rq_qui me pose un probleme"
    Fichiers attachés Fichiers attachés

  12. #12
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Ahhhhhhhhh

    mais je pensais que les deux prévisions c'étaient 2 colonnes ......
    Humhum...... bon ben.....bon appétit, je regarderais le ventre plein
    La machine obéit à vos ordres, pas à vos intentions.

  13. #13
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    Oups me suis je mal exprimée.
    ok bonne apetit a toi...

  14. #14
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Bonjour et désolé du retard,

    Bon, je n'ai pas réussi a faire quelque quoi que ce soit de convaincant en SQL.
    Il s'agirait je pense de linéariser tes données comme le fait k-p-j, mais si il a marqué le sujet résolu, il n'a pas donné la solution
    Ainsi tu aurais 2 champs et donc une requête comme marqué plus haut.
    Sinon il y a aussi la possibilité de faire des requêtes intermédiaires mais...je crois que tu as déja pu avoir un aperçu du risque
    Peut être voir du côté d'un create table intermediaire.
    La machine obéit à vos ordres, pas à vos intentions.

  15. #15
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 601
    Points : 56 700
    Points
    56 700
    Billets dans le blog
    40
    Par défaut
    bonjour à vous deux,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provisions_brut: "Provisions pour stock"-"Autres provisions"
    On pourrait avoir quelques infos sur comment on doit calculer "Provisions pour stock" puis "Autres provisions". Ce sont des provisions par site, par mois/année, par ...???

    Citation Envoyé par Ardiden31 Voir le message
    ...et j'aimerais les soustraire sans passer par 3 requetes (une requete qui me sorte les provisions pour stocks, une requete qui me sorte les autres provisions et la 3eme qui me fasse la soustraction entre les deux).
    ...et quel est le problème à faire ça en 2-3 requêtes ??
    Commençons justement par décomposer le problème en 2, 3 requêtes (diviser pour régner). Il sera toujours temps ensuite d'imbriquer ces requêtes si on le souhaite.

  16. #16
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Disons qu'elle a eu ya pas longtemps un problème de lenteur a cause d'une requete qui apelait 3 requetes qui appelaient une requete.
    Et vu la tête des requêtes, le nombre de tests.... On se retrouvait avec une interface minitel

    Après en effet, le multi requête est possible.. a condition d'éviter l'arborisation de celles-ci quand le nombre de tests est conséquent.
    La machine obéit à vos ordres, pas à vos intentions.

  17. #17
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 241
    Points : 106
    Points
    106
    Par défaut
    Ouplala j'ai ratée des choses. Merci à vous deux pour votre aide. Finalement j'ai choisie l'option passée par plusieurs requêtes et comme on avait vu une fois avec Flyoss je suis passée par une table temporaire pour éviter que le chargement soit trop long...
    Merci

  18. #18
    Membre actif Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 278
    Points
    278
    Par défaut
    Après faut pas forcément faire tout ce que je fais hein, je fais pas que des choses biens (loin de la )


    De manière générale il faut tester, voir l'efficacité, penser qu'en prod il y a beaucoup plus de données qu'en test, réfléchir un peu au nombre de requêtes appelées et SURTOUT au nombre de tests dans chaque requête.

    Fin bref, gérer les performance d'une application ça relève quasiment de l'alchimie parfois
    La machine obéit à vos ordres, pas à vos intentions.

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

Discussions similaires

  1. Requete sur des champs qui ne sont pas dans une autre table
    Par jean christophe dans le forum Débuter
    Réponses: 4
    Dernier message: 20/05/2010, 18h05
  2. [MySQL] Dupliquer des lignes d'une table dans une meme table
    Par HAbroc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/06/2009, 21h22
  3. Plusieurs indicateurs d'une meme table dans une seule requete
    Par arnaud.barre dans le forum Débuter
    Réponses: 5
    Dernier message: 12/04/2007, 17h23
  4. comment additionner des champs appartenant à la meme table
    Par VIRGINIE87 dans le forum Langage SQL
    Réponses: 25
    Dernier message: 12/04/2007, 14h40
  5. Réponses: 3
    Dernier message: 28/02/2006, 17h52

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