J'ai essayé la requête:
1 2 3 4 5 6 7 8 9 10 11
| REPLACE INTO final_trafic
SELECT sr.NUM_SITE_THEORIQUE2, TYPE_SITE_THEORIQUE, SUM(sr.trafic) AS trafic_total,
(UPDATE final_trafic
CASE WHEN trafic_total >=49830 THEN SET priorite_trafic='P1'
ELSE WHEN trafic_total >=470 AND trafic_total <49830 THEN SET priorite_trafic='P2'
ELSE WHEN trafic_total >=153 AND trafic_total <470 THEN SET priorite_trafic='P3'
ELSE WHEN trafic_total <153 THEN SET priorite_trafic='P4'
END)
FROM
(SELECT DISTINCT `SiteGeo_Equipement`, `trafic`, `image`, `NUM_SITE_THEORIQUE2`, `TYPE_SITE_THEORIQUE` FROM lister12 WHERE `trafic` IS NOT NULL) AS sr
GROUP BY sr.NUM_SITE_THEORIQUE2 |
L'erreur retournée est:
#1064 - Erreur de syntaxe près de 'UPDATE final_trafic CASE WHEN trafic_total >=49830 THEN SET priorite_trafic='' à la ligne 3
J'ai vérifié la syntaxe sur http://dev.mysql.com/doc/refman/5.0/...statement.html
Donc j'ai essayé avec:
1 2 3 4 5 6 7 8 9 10 11
| REPLACE INTO final_trafic
SELECT sr.NUM_SITE_THEORIQUE2, TYPE_SITE_THEORIQUE, SUM(sr.trafic) AS trafic_total,
(UPDATE final_trafic
CASE WHEN trafic_total >=49830 THEN SET priorite_trafic='P1'
ELSE WHEN trafic_total >=470 AND trafic_total <49830 THEN SET priorite_trafic='P2'
ELSE WHEN trafic_total >=153 AND trafic_total <470 THEN SET priorite_trafic='P3'
ELSE WHEN trafic_total <153 THEN SET priorite_trafic='P4'
END CASE)
FROM
(SELECT DISTINCT `SiteGeo_Equipement`, `trafic`, `image`, `NUM_SITE_THEORIQUE2`, `TYPE_SITE_THEORIQUE` FROM lister12 WHERE `trafic` IS NOT NULL) AS sr
GROUP BY sr.NUM_SITE_THEORIQUE2 |
Et ça ne marche toujours pas. merci.
Cordialement.
Partager