Bonjour à tous,
Voici mon problème, j'essaye de faire une requête afin de récupérer des informations des candidats qui ont laisser un cv sur le site.
Le problème est que, dès que je rentre cette ligne dans la requête, l'un des 2 candidats disparait alors qu'il devrait être présent.
Voici la requête :
La ligne qui fait tout foirer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT c.id as id,c.nom as nom,c.prenom as prenom, DAY(c.date_envois) as Jour, MONTH(c.date_envois) as Mois, YEAR(c.date_envois) as Annee, s.nom as nom_secteur, a.titre as titre_annonce, DISTINCT SUM(DISTINCT pt.temp_reel) As total_xp FROM postule_candidat AS c LEFT JOIN secteur AS s ON s.id = c.fk_id_secteur LEFT JOIN annonce As a ON a.fk_id_job = c.fk_id_post LEFT JOIN job As j ON j.id = a.fk_id_job LEFT JOIN postule_diplome_candidat As dc ON dc.fk_id_candidat = c.id LEFT JOIN postule_experience_candidat As ec ON ec.fk_id_candidat = c.id LEFT JOIN postule_temp As pt ON pt.id = ec.fk_id_temp WHERE c.id > 0
Le code se présente actuellement sous cette forme en php
Code : Sélectionner tout - Visualiser dans une fenêtre à part DISTINCT SUM(DISTINCT pt.temp_reel) As total_xp
Ce sont des requêtes crées dans la page php pour faire du multi requête par select.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php $candidat = new Candidat(); $requete = ' SELECT c.id as id,c.nom as nom,c.prenom as prenom,'; $requete = $requete.' DAY(c.date_envois) as Jour, MONTH(c.date_envois) as Mois, YEAR(c.date_envois) as Annee,'; $requete = $requete.' s.nom as nom_secteur,'; $requete = $requete.' a.titre as titre_annonce,'; $requete = $requete.' SUM(DISTINCTpt.temp_reel) As total_xp'; $requete = $requete.' FROM postule_candidat AS c'; $requete = $requete.' LEFT JOIN secteur AS s ON s.id fk_id_type_diplome = '.$_POST["diplome_type"].')'; if(!empty($_POST["fonction"])) $requete = $requete.' AND (ec.fk_id_diplome = '.$_POST["fonction"].')'; $requete = $requete.' ORDER BY j.date_creation DESC'; ?> = c.fk_id_secteur'; $requete = $requete.' LEFT JOIN annonce As a ON a.fk_id_job = c.fk_id_post'; $requete = $requete.' LEFT JOIN job As j ON j.id = a.fk_id_job'; $requete = $requete.' LEFT JOIN postule_diplome_candidat As dc ON dc.fk_id_candidat = c.id'; $requete = $requete.' LEFT JOIN postule_experience_candidat As ec ON ec.fk_id_candidat = c.id'; $requete = $requete.' LEFT JOIN postule_temp As pt ON pt.id = ec.fk_id_temp'; $requete = $requete.' WHERE c.id > 0'; if(!empty($_POST["diplome_type"])) $requete = $requete.' AND (dc.fk_id_type_diplome = '.$_POST["diplome_type"].')'; if(!empty($_POST["fonction"])) $requete = $requete.' AND (ec.fk_id_diplome = '.$_POST["fonction"].')'; $requete = $requete.' ORDER BY j.date_creation DESC'; ?>
Je vous fournis également la base de données en pièce jointe
Merci d'avance pour l'aide, car je sèche dessus depuis ce matin ^^
Si vous avez des conseils pour optimiser ma requête, n'hésitez pas ^^
Partager