#1 Wed 13 October 2021 14:10
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 203
condition clause where
Bonjour,
j'ai une table avec plusieurs champs integer comportants chacun une année : an_deb_chantier et an_control.
je cherche à faire une selection toute basique des chantiers ayant débuter avant 2015 donc les inspections ont été réalisées aprÚs cette date ET ou l'on possÚde bien une date de début de chantier.
j'ai donc :
Code:
SELECT * FROM chantier WHERE an_deb_chantier is not null AND an_deb_chantier < 2015 AND an_control > 2015
et en retour je recois bien un résultat mais qui me retourne des an_deb_chantier qui sont null, supérieure ou inférieur à 2015. Bref pas du tout le retour attendu.
(j'arrive Ă filtrer en utilisant des CTE mais bon je pense qu'il y'a plus simple).
Est-ce-que c'est possible sans passer par une cte de définir une hierarchie des conditions ?
Hors ligne
#2 Wed 13 October 2021 15:51
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: condition clause where
Salut,
etes vous sĂ»r que la requĂȘte que vous avez postĂ© est bien celle que vous avez lancĂ© ?
Celle-ci me parait correcte, Ă part que le test de nullitĂ© est inutile (c'est possible que postgres rĂ©-Ă©crive la requĂȘte avant de l'executer).
Est-ce-que c'est possible sans passer par une cte de définir une hierarchie des conditions ?
Il n'y a pas de hiĂ©rarchie dans ce que vous dĂ©sirez faire, toutes les conditions doivent ĂȘtre satisfaites.
Pouvez poster la cte qui marche ?
Hors ligne
#3 Mon 18 October 2021 16:59
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 203
Re: condition clause where
Salut,
etes vous sĂ»r que la requĂȘte que vous avez postĂ© est bien celle que vous avez lancĂ© ?
Celle-ci me parait correcte, Ă part que le test de nullitĂ© est inutile (c'est possible que postgres rĂ©-Ă©crive la requĂȘte avant de l'executer).Est-ce-que c'est possible sans passer par une cte de dĂ©finir une hierarchie des conditions ?
Il n'y a pas de hiĂ©rarchie dans ce que vous dĂ©sirez faire, toutes les conditions doivent ĂȘtre satisfaites.
Pouvez poster la cte qui marche ?
La CTE décompose juste la clause where :
Code:
with test as ( select * from chantier WHERE an_deb_chantier is not null ) select * from test where an_deb_chantier < 2015 AND an_control > 2015;
Bon du coup j'ai continué avec des cte
Hors ligne
#4 Mon 18 October 2021 21:27
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: condition clause where
Quelle version de postgresql ?
sur une 9.6 pas de problĂšme :
http://sqlfiddle.com/#!17/9dad8/7
Hors ligne

