Commande Select AVG() From dans un Update
Galzi
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
Galzi Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Galzi Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un entrainement à effectuer en SQL et une ligne de code qui me semble correcte ne fonctionne pas sur MYSQL:
=> Error 1093: You can't specify target table EMP for update in form clause
Quelqu'un a une idée ? :)
J'ai un entrainement à effectuer en SQL et une ligne de code qui me semble correcte ne fonctionne pas sur MYSQL:
UPDATE EMP SET COM=(SELECT AVG(COM) FROM EMP) WHERE HDATE<'1982-01-01' AND COM IS NULL
=> Error 1093: You can't specify target table EMP for update in form clause
Quelqu'un a une idée ? :)
A voir également:
- Commande Select AVG() From dans un Update
- Invite de commande - Guide
- Avg free - Télécharger - Antivirus & Antimalwares
- Commande terminal mac - Guide
- Windows update bloqué - Guide
- Winget update - Guide
2 réponses
Salut,
Quelle est la structure de ta table EMP ?
Selon moi, tu dois créer une table temporaire pour y stocker tes moyennes, puis faire une jointure avec cette table temporaire lors de ton update.
Quelle est la structure de ta table EMP ?
Selon moi, tu dois créer une table temporaire pour y stocker tes moyennes, puis faire une jointure avec cette table temporaire lors de ton update.
Bonjour,
Merci flokocha pour ta réponse, excuses moi de ne pas avoir répondu plus tot. Voici le code de création de ma table EMP:
CREATE Table EMP
(EMPNO INT(4) unsigned not null primary key,
ENAME VARCHAR(10),
JOB VARCHAR(10),
MGR INT(4) unsigned,
HIREDATE DATE not null,
SAL FLOAT(6,2),
COM FLOAT(6,2),
DEPTNO INT(2) unsigned not null,
CONSTRAINT CleEtrDEPTNO FOREIGN KEY (DEPTNO)
REFERENCES DEPT(DEPTNO));
INSERT INTO EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COM, DEPTNO)
VALUES
(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800.00, NULL, 20),
(7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600.00, 300.00, 30), ...
Il faudrait donc que je fasse un select des COM, puis faire la moyenne de tout ça et enfin utiliser un JOIN avec ma table EMP ?
Merci flokocha pour ta réponse, excuses moi de ne pas avoir répondu plus tot. Voici le code de création de ma table EMP:
CREATE Table EMP
(EMPNO INT(4) unsigned not null primary key,
ENAME VARCHAR(10),
JOB VARCHAR(10),
MGR INT(4) unsigned,
HIREDATE DATE not null,
SAL FLOAT(6,2),
COM FLOAT(6,2),
DEPTNO INT(2) unsigned not null,
CONSTRAINT CleEtrDEPTNO FOREIGN KEY (DEPTNO)
REFERENCES DEPT(DEPTNO));
INSERT INTO EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COM, DEPTNO)
VALUES
(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800.00, NULL, 20),
(7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600.00, 300.00, 30), ...
Il faudrait donc que je fasse un select des COM, puis faire la moyenne de tout ça et enfin utiliser un JOIN avec ma table EMP ?