Bonjour,
Je vous présente mon souci je travail sur une BD MySQL et je doit écrire des requêtes pour l’exploiter.
Mon problème se pose sur une requête car celle-ci fonctionne mais elle est vraiment moche (trop longue) je trouve.
Je voudrais donc savoir si vous pouvez m’aider à la simplifier
Voici la requête :
SELECT name
FROM jos_fbk_requirement
WHERE language = '$file_language'
AND NOT EXISTS
(SELECT jos_fbk_requirement_name
FROM jos_fbk_failed_mandatory, jos_fbk_report
WHERE jos_fbk_requirement.name = jos_fbk_requirement_name
AND jos_fbk_report_id_report = '$id_report_Fv'
UNION
SELECT jos_fbk_requirement_name
FROM jos_fbk_failed_recommended, jos_fbk_report
WHERE jos_fbk_requirement.name = jos_fbk_requirement_name
AND jos_fbk_report_id_report = '$id_report_Fv')
UNION
SELECT name
FROM jos_fbk_requirement
WHERE language = 'both'
AND NOT EXISTS
(SELECT jos_fbk_requirement_name
FROM jos_fbk_failed_mandatory, jos_fbk_report
WHERE jos_fbk_requirement.name = jos_fbk_requirement_name
AND jos_fbk_report_id_report = '$id_report_Fv'
UNION
SELECT jos_fbk_requirement_name
FROM jos_fbk_failed_recommended, jos_fbk_report
WHERE jos_fbk_requirement.name = jos_fbk_requirement_name
AND jos_fbk_report_id_report = '$id_report_Fv')
ORDER BY name ASC;
C’est surtout le 2ème UNION que je voudrais enlever.
Merci de votre aide :jap:
Edité le 16/07/2009 à 21:32