Bonjour à tous,

J'ai pas trop l'habitude de faire des requêtes d'insertion et je suis confronté à un problème. Lequel me direz-vous ? Moi je réponderais ma requête ne passe pas

Voici ma requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
insert into ecriture
select max(no_ecriture) +1, current_date, null, 300, ecriture.no_compte 
from ecriture natural join compte natural join client 
where nom ='Mortimer' and prenom = 'Philip';
Et voici l'erreur qu'elle me renvoie
ERROR: column "ecriture.no_compte" must appear in the GROUP BY clause or be used in an aggregate function
État SQL :42803
Pourquoi cette requête ne passe-t-elle pas ?

Mon prof propose une solution très facile qui est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select no_compte
from client natural join compte
where prenom = 'Philip' And nom = 'Mortimer';
On récupère le résultat du Select et on l'insère dans l'insert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
insert into ecriture
select max(no_ecriture) + 1, current_date, NULL, 300, 6 from ecriture;
Mais bon moi j'aimais bien ma requête.
Quelqu'un aurait-il une idée sur mon erreur ?

Merci à tous