Insert into select

Bonjour,

Je souhaiterai insérer dans une nouvelle table, la somme d'une marge : voilà l'instruction que j'ai écrite mais elle ne fonctionne pas :

insert into compteur (x)
select sum(tablebis.marge) as marge_réalisée
from tablebis;

Je ne comprend pas pourquoi sa fonctionne pas.
Merci de bien vouloir m'aider, c'est urgent
Configuration: Windows Vista
Safari 525.27.1

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Ton ordre SQL est syntaxiquement correct. Peux-tu nous donner une description des 2 tables en question (les colonnes invoquées avec leurs type de données) et préciser quel SGBD tu utilises.

    ++
    1. Je travaille sous access si c sa que tu enten par sgbd.

      Dans la table compteur je n'ai que la variable x afin de faire un cumul.
      Dans la table tablebis, j'ai

      - facture
      - ag
      - datejour
      - quantite
      - marge
      et plein d'autre chose don je me sers pas.

      J'ai déjà fai une requete qui fai la somme de la marge selon la jour.

      Ce que je veux c d'avoir une table qui me permet d'avoir une marge cumulée.
      1. Euh, je ne connais pas Access :(

        Quels sont les types de données des deux colonnes invoquées, à savoir compteur.x et respectivement tablebis.marge ?

        ++
        1. Ben je sèche...

          Si tu enlèves le
          as marge_réalisée 
          qui ne sert pas ? Il est accepté par Oracle mais têtre Access fait la fine bouche ^^

          ++
          1. non sa fonctionne pas

            mais déjà j'ai essayer de faire une insertion simple du style insert into compteur (x) values (235);
            et sa fonctionne pas

            le truc c que je trouve pas le probleme
            1. Ben... Pas d'erreur du tout? Zarbi tout ça. Est-ce que tu ferais l'insert depuis une application ? Si oui, est-ce que tu fais bien un commit par la suite?

              Faudra d'abord résoudre ton souci d'insert simple (évoqué au post 6 ci-dessus). Malheureusement je ne peux pas t'aider car même si j'ai Access installé je ne l'ai pas vraiment utilisé...

              ++
              1. on fait pas de commit sous acces ou alors je le savais pas mais je sais que sous oracle sa fonctionne mais pas sous access.

                Je te remerci pour ton aide
                1. Je crois (de mémoire) que même le 'tit pauvre Access possède le commit/rollback. C'est un minimum pour toute base de données.

                  Access a par défaut le paramètre autocommit à true (donc pas besoin de faire des commit explicites); c'est un paramètrage qui se fait au niveau de la connexion ODBC, par exemple et aussi au niveau applicatif (après la création de la connexion).

                  ++
                  1. Bon ben je vais regarder mais j'ai rien compris à ce que tu m'a dis.
                    Merci quand même
                    1. ok merci mais je suis pas très douée, ia pas longtemps que je sais me servir d'access et la g un gros projet dessus.

                      Merci