[Résolu] requête sur une date: n'afficher que les résultats du dernier mois

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

[Résolu] requête sur une date: n'afficher que les résultats du dernier mois

Message par cegtio »

Bonjour la communauté,
J'ai une table PRESTATION avec deux colonnes (je résume):
- date de la prestation;
-nature de la prestation;

Dans le cadre de ma comptabilité, je voudrais faire une requête qui n'affiche que les lignes de la table PRESTATION dont la DATE de prestation est postérieure ou égale au 5ème jour du mois.

Par exemple :

si je lance la requête le 04/07/2023 :

seraient affichés les résultats :

- 05/06/2023 - Consultation
- 25/06/2023 - Consultation
- 03/07/2023 - Consultation

Mais pas les résultats plus anciens antérieurs au 05/06 ni ultérieurs au 04/07.

Pouvez-vous m'aider ?

Belle soirée à vous.
Dernière modification par micmac le 16 sept. 2023 19:27, modifié 2 fois.
Raison : [Résolu] remplace [RÉSOLU] + ajout de la coche verte.
LibreOffice 7.5 sous MacOS 10.15.7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12231
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par Bidouille »

Bonjour,

Il va falloir vous réclamer ça pour chaque nouvelle question ?

Image
Comment joindre un fichier au format ODB
Pensez également à dépersonnaliser le fichier joint.

Vous en profiterez également pour donner suite à votre précédente question : viewtopic.php?t=67381
nounours2
Membre prOOscrit
Messages : 88
Inscription : 18 juin 2023 15:10

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par nounours2 »

Salut Cegtio,

Si j'utilise les opérateurs logiques, je peux tout à fait travaillers sur les dates.

A+

nounours2

P.S.

Code : Tout sélectionner

SELECT "date", "prestation" FROM "prestations" WHERE "date" BETWEEN {d '2023-05-05' } AND {d '2023-05-08' }
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04
nounours2
Membre prOOscrit
Messages : 88
Inscription : 18 juin 2023 15:10

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par nounours2 »

Cegtio a écrit:
Dans le cadre de ma comptabilité, je voudrais faire une requête qui n'affiche que les lignes de la table PRESTATION dont la DATE de prestation est postérieure ou égale au 5ème jour du mois.
Oui, alors Cegtio, où en êtes-vous?

Merci

nounours2 :(
Libre Office 6.0.7 sous Ubuntu 18.04
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9258
Inscription : 28 août 2010 08:45

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par micmac »

Veuillez attendre que cegtio ait répondu et ne pas relancer inutilement.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Rafkus_pl
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 23 févr. 2022 11:45

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par Rafkus_pl »

En supposant que vous saisissiez une date sélectionnée dans le champ "Date sélectionnée" de la table "Filtre" (cette table ne contient qu'un seul enregistrement), le moyen le plus simple serait de l'obtenir comme ceci :

Code : Tout sélectionner

SELECT *
FROM "PRESTATION", "FILTRE" 
WHERE DATEDIFF( 'dd', "PRESTATION"."DATE_PRESTATION", "FILTRE"."DATE_SELECTIONE" ) BETWEEN 0 AND 30
De cette façon, vous obtiendrez des résultats d'il y a 30 jours à partir de la date sélectionnée. En modifiant un peu la condition, vous pouvez afficher les enregistrements après la date sélectionnée (DATEDIFF( 'dd', ... ) BETWEEN -30 AND 0) ou avant et après (DATEDIFF( 'dd', ... ) BETWEEN -30 AND 30)

Si cela doit dater d'une date précise, vous devez malheureusement fixer vous-même une telle date :

Code : Tout sélectionner

SELECT *
FROM "PRESTATION", "FILTRE" 
WHERE "PRESTATION"."DATE_PRESTATION" BETWEEN
	casewhen( MONTH("FILTRE"."DATE_SELECTIONE")=1, YEAR("FILTRE"."DATE_SELECTIONE")-1,YEAR("FILTRE"."DATE_SELECTIONE")) ||
	case when MONTH("FILTRE"."DATE_SELECTIONE") BETWEEN 2 and 10 then '-0' || MONTH("FILTRE"."DATE_SELECTIONE")-1
		when MONTH("FILTRE"."DATE_SELECTIONE")=1 then '-12'
	else '-' || MONTH("FILTRE"."DATE_SELECTIONE")-1 end || 
	'-05' and "FILTRE"."DATE_SELECTIONE"
OpenOffice 4.1.6, LibreOffice 7.1.6 - Widows 10
nounours2
Membre prOOscrit
Messages : 88
Inscription : 18 juin 2023 15:10

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par nounours2 »

Rakfus a écrit:
En supposant que vous saisissiez une date sélectionnée dans le champ "Date sélectionnée" de la table "Filtre"
Il m'a semblé que vous supputiez bien, cependant je n'ai à ce jour toujours pas compris les finalités de Cegtio.

Bien à vous

nounours2
La modération vous a écrit: Veuillez ne pas répondre à la place de Cegtio

Libre Office 6.0.7 sous Ubuntu 18.04
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

[Résolu] Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par cegtio »

Merci à Rafkus_pl pour la résolution de la question !
LibreOffice 7.5 sous MacOS 10.15.7
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9258
Inscription : 28 août 2010 08:45

Re: requête sur une date: n'afficher que les résultats du dernier mois

Message par micmac »

Bonjour,

Le balisage dans le titre du premier message SVP afin qu'il soit visible depuis la page d'accueil.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

Re: [RÉSOLU] requête sur une date: n'afficher que les résultats du dernier mois

Message par cegtio »

Merci pour ce rappel. C'est fait.
LibreOffice 7.5 sous MacOS 10.15.7