Probleme de requete sql > date between date

SAlut a tous je bloque sur une requette j’ai un table (mysql) ordonnée de la sorte :


id_titulaire| intituler | montant | date

id_titulaire (int4)
intituler (varchar 255)
montant ( decimal 10,2)
date (date)

Je souhaite faire sortir toutes les entrées avec un id_titulaire spécifique sur une plage de date ( du 2001-01-01 au 2005-01-02 par exemple )

voici la requete.

SELECT
tab_compte_bancaire.montant,
tab_compte_bancaire.intituler,
tab_compte_bancaire.date
FROM
tab_compte_bancaire
WHERE
(tab_compte_bancaire.id_titulaire= 1) AND
(tab_compte_bancaire.date BETWEEN 2005-01-01 AND 2005-05-01)

Mais j’ai beau cherché il ne trouve rien avec AND, Quand je met OR il me sort tout

Quelqu’un peut t’il m’aider ? :jap:

il faut pas mettre des ’ entre les dates ?

autour des dates, pas entre, bref: les dates entre simple quote.
http://www.1keydata.com/sql/sqlbetween.html

et au passage, tu peux alléger tes requêtes avec les ALIAS de table :

SQL
[color=blue;font-weight:bold]SELECT[/color] B.foo

FROM machin_tres_long_quonva_pas_reecrire_plusieurs_fois B

(et sinon, utilise le tag [ sql] et [ /sql] (sans les espaces) pour mettre en valeur tes requêtes)

Euuh peux tu préciser un peu plus je ne suis pas encore une fleche en sql, cimer :slight_smile:

Bon c bon NeqQ et deltree, en effet j’avais oublié les simple cote, je construit mes requetes sql sur EMS mysql Manager pro.

Merci ct tout bete :slight_smile:

Un alias te permet de faire pointer une variable (mettons B dans mon exemple) vers une autre (un nom de table très long). C’est tout con.

Pour ta requête, ça donne :

SQL
[color=blue;font-weight:bold]SELECT[/color] T.montant, T.intituler, T."date"

FROM tab_compte_bancaire T
WHERE T.id_titulaire = 1 AND T.“date” BETWEEN ‘2005-01-01’ AND ‘2005-05-01’

Mais c’est sûr que si tu utilises un logiciel pour faire tes requêtes, il devrait pas comprendre.

Merci sans-nom de l’expli.