Page 1 sur 1

Requete avec des if et des OR

Posté : 20 oct. 2011, 11:16
par Ehplod
Salut,

Je ne savait pas du tout comment titre ce nouveau fil... Désolé. :oops:

Bon, ma question porte bien sur sur une requête vers ma bdd.

j'ai une table avec une insertion de données journalières.
ID | Texte | Année | Mois | Jour

Je souhaite récupérer les x lignes correspondant à la date du jour.
Puis, si j'ai moins de n lignes, en prendre avant pour compléter.

Impossible de le faire en une seul requête.
Avez vous une idée.

Pour le moment, j'en suis là :
Requête données du jour.
while
si moins de n, requête données jours avant pour compléter.
while
affichage.

Merci

Re: Requete avec des if et des OR

Posté : 20 oct. 2011, 11:19
par moogli
salut,

un requete du style
select truc from machine order by lechamdate desc limit 0, n

tu aura ce que tu veux, après tu peux ajouter un where pour trier suivant la date selectionneée

par exemple prendre les date supérieurs ou inférieures à une autre etc etc


@+

Re: Requete avec des if et des OR

Posté : 20 oct. 2011, 11:55
par Ehplod
Ah bah ouais...

je bloquais trop sur les données du jour alors que j'aurais du me focaliser sur les n données à extraires.

Merci.

Re: Requete avec des if et des OR

Posté : 20 oct. 2011, 11:59
par moogli
de rien :)

@+

Re: Requete avec des if et des OR

Posté : 20 oct. 2011, 12:06
par Mazarini
Bonjour,

Je n'ai pas compris ce que tu souhaitais obtenir comme résultat lorsqu'il y avait plus de n lignes pour la journée. Dans la solution proposée, tu perds les lignes n+1,... qui peuvent être de la journée cherchée.

Re: Requete avec des if et des OR

Posté : 21 oct. 2011, 09:30
par Ehplod
En fait, je me prenais le chou pour rien...

J'avais besoin de récupérer, par exemple, 10 info correspondant à la journée "today".
Pas de problème.
Mais si j'avais moins de 10 info, je souhaitais compléter avec des info des jours précédents.

Comme je ne prenais pas le problème dans le bon sens, je bloquais sur comment connaitre le nombre d'info manquante et comment aller les chercher, tout cela en une seul requête.

La logique était pourtant facile.
Je vais chercher 10 info avec date <= à today. :wink: