Bonjour,
Ma requète suivante ne fonctionne pas (elle génère beaucoup trop d'enregistrements : 261 ...), alors que si je scinde la clause WHERE en 2, les 2 requêtes fonctionnent correctement.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT * FROM r_evenements , r_evecat WHERE (UNIX_TIMESTAMP(DATE_LEDU) BETWEEN 1180303200 AND 1182981600) OR (UNIX_TIMESTAMP(DATE_AU) BETWEEN 1180303200 AND 1182981600) AND ( (r_evenements.ID = r_evecat.IDEVENEMENT) AND (( r_evecat.IDCATEGORIE = 4 ) OR ( r_evecat.IDCATEGORIE = 5 )) ) ORDER BY DATE_LEDU
Fonctionne correctement : (5 records)
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * FROM r_evenements WHERE (UNIX_TIMESTAMP(DATE_LEDU) BETWEEN 1180303200 AND 1182981600) OR (UNIX_TIMESTAMP(DATE_AU) BETWEEN 1180303200 AND 1182981600) ORDER BY DATE_LEDU
et (19 records)
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT * FROM r_evenements , r_evecat WHERE (r_evenements.ID = r_evecat.IDEVENEMENT) AND (( r_evecat.IDCATEGORIE = 4 ) OR ( r_evecat.IDCATEGORIE = 5 )) ORDER BY DATE_LEDU
Où est mon erreur ? Comment assembler dans une query ces deux requêtes ?
Merci !
Partager