Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/09/2011, 18h30   #1
Membre actif
 
Avatar de Basicnav
 
Arnaud
Inscription : février 2008
Messages : 216
Détails du profil
Informations personnelles :
Nom : Arnaud
Âge : 39
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2008
Messages : 216
Points : 159
Points : 159
Par défaut Requette ajout depuis sql direct

Bonjour,

je rencontre le problème suivant que je n'arrive pas à solutionner sur la toile...

J'ai une requêtte ajout qui est la suivante :
Code sql :
1
2
3
INSERT INTO Table1 ( Type, Vol, Dat )
SELECT NUM_ART_EMB, count(NUM_ART_EMB), contenant.DAT_MAJ
FROM volume_conso_jour;

qui récupère le résultat de la requêtte sql directe "conso" suivante :

Code sql :
1
2
3
4
SELECT contenant.NUM_ART_EMB, Count(contenant.NUM_ART_EMB), trunc(contenant.DAT_MAJ)
FROM HIST.contenant contenant
WHERE (contenant.NUM_ART_EMB LIKE ('C%')) AND (trunc(contenant.DAT_MAJ)=trunc(sysdate-1)) OR (contenant.NUM_ART_EMB LIKE ('A%')) AND (trunc(contenant.DAT_MAJ)=trunc(sysdate-1))
GROUP BY contenant.NUM_ART_EMB, trunc(contenant.DAT_MAJ), to_char(dat_maj,'dd/mm')

La requêtte directe me donne bien le résultat attendu, mais impossible de l'ajouter à ma table1 sans avoir le message d'erreur suivant :

Vous aves essayé d'exécuter une requêtte ne comprennant pas l'expression spécifiéee ''NUM_ART_EMB" comme un partie de la fonction d'agrégats.

Je ne comprends pas le message, je n'arrive pas à l'interprèter et comment corriger mon erreur...

Pouvez vous m'aider, je débute et je bloque la dessus depuis deux jours déjà !

Merci
__________________
on ne parvient jamais à bien jouir de soi sans le recours d'autrui
JJ Rousseau

http://funz.labrute.fr/
Basicnav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 19h02   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonjour,

Code sql :
1
2
3
SELECT NUM_ART_EMB, count(NUM_ART_EMB), contenant.DAT_MAJ
FROM volume_conso_jour;
Le count ne serait-il pas de trop ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 19h02   #3
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Je pense que le message d'erreur est causé par le count(NUM_ART_EMB) de la requête INSERT.

Dans la requête SQL-direct, pour simplifier les choses, il faudrait donner des alias aux colonnes calculées.
Code sql :
1
2
3
4
SELECT contenant.NUM_ART_EMB, Count(contenant.NUM_ART_EMB) CNT_NUM_ART_EMB, trunc(contenant.DAT_MAJ) DT_DAT_MAJ
FROM HIST.contenant contenant
WHERE (contenant.NUM_ART_EMB LIKE ('C%')) AND (trunc(contenant.DAT_MAJ)=trunc(sysdate-1)) OR (contenant.NUM_ART_EMB LIKE ('A%')) AND (trunc(contenant.DAT_MAJ)=trunc(sysdate-1))
GROUP BY contenant.NUM_ART_EMB, trunc(contenant.DAT_MAJ), to_char(dat_maj,'dd/mm')
Dans la requête INSERT tu peux alors désigner les colonnes calculées par leur alias (CNT_NUM_ART_EMB et DT_DAT_MAJ):
Code sql :
1
2
3
INSERT INTO Table1 ( Type, Vol, Dat )
SELECT NUM_ART_EMB, CNT_NUM_ART_EMB, DT_DAT_MAJ
FROM volume_conso_jour;
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h36.


 
 
 
 
Partenaires

Hébergement Web