[Résolu] Créer une requête avec deux tables, à regrouper par 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] Créer une requête avec deux tables, à regrouper par mois

Message par cegtio »

Bonjour,
Je voudrais créer une requête qui me permet d'afficher des infos de comptabilité : mes rentrées et mes sorties par mois (dans la perspective d'obtenir l'info : Pour Mars 2023, 2000 euros de rentrées brut (MONEY1 dans la TABLE1) - 500 euros de sorties (MONEY2 dans la TABLE2) = 1500 euros de Rentrées net.
J'arrive à faire le regroupement par mois pour chaque table séparée, mais je n'y arrive pas lorsque je dois mettre dans une même requête les données des deux tables.

J'ai bien essayé ceci (qui m'a été suggéré sur un forum anglophone) mais qui ne semble pas adapté à OpenOffice, car cela me renvoie une erreur :

Code : Tout sélectionner

select coalesce(t1.mon,t2.mon), sum1, sum2, sum1-sum2
from (select 
		sum("MONEY1") sum1, 
		YEAR("DATE") yea, 
		MONTH("DATE") mon 
    from "TABLE1"

    group by YEAR("DATE"), MONTH("DATE")) t1

full outer join (
    	select 
		sum("MONEY2") sum2, 
		YEAR("DATE") yea, 
		MONTH("DATE") mon
    from "TABLE2"
    group by YEAR("DATE"), MONTH("DATE")) t2
on (t1.mon=t2.mon and t1.yea=t2.yea)
Ce serait vraiment fantastique si je peux avoir un peu d'aide, car du coup, je peux gérer ma compta avec Libre Office !
Je mets mon petit fichier test en pièce jointe si quelqu'un peut m'aider.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par cegtio le 13 avr. 2023 08:41, modifié 2 fois.
LibreOffice 7.5 sous MacOS 10.15.7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12851
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: Créer une requête avec deux tables, à regrouper par mois

Message par Bidouille »

Bonjour,
Dans votre signature, il y a écrit :OpenOffice 7.5 sous MacOS 10.15.7
cegtio a écrit : 09 avr. 2023 19:03pas adapté à OpenOffice
[...]
avec Libre Office
Merci de mettre la bonne information dans votre signature.
Est-ce OpenOffice ou LibreOffice ?
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Créer une requête avec deux tables, à regrouper par mois

Message par Dude »

Salut,

En principe, quand on n'arrive pas à sortir les informations correctement, c'est que le modèle relationnel est mauvais.
Explique nous à quoi cela sert d'avoir deux tables qui ont la même structure avec une colonne nommée différemment ?
Qu'est ce qui caractérise MONEY1 de MONEY2 ?

capture.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

Re: Créer une requête avec deux tables, à regrouper par mois

Message par cegtio »

bonjour, les deux tables ont dans l'exemple la même structure seulement par facilité. Mais en réalité, la première table est celle des rentrées et la seconde est celle des sorties et elles n'ont de "commun" que la colonne : DATE et MONTANT.
Merci pour votre aide !
LibreOffice 7.5 sous MacOS 10.15.7
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Créer une requête avec deux tables, à regrouper par mois

Message par godefroy »

Salut l'ami,

Le modèle relationnel prévoit 3 tables pour ce genre de construction (DBRMS).

Je joins ton fichier avec mes ajouts de requêtes.

Tchao

Godefroy

P.S. Si tu utilise plus qu'une table, il faut qu'elles soient mises en relation
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par godefroy le 10 avr. 2023 13:59, modifié 1 fois.
Libre Office 6.0.7 Ubuntu 18.04
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Créer une requête avec deux tables, à regrouper par mois

Message par Dude »

cegtio a écrit : 10 avr. 2023 05:45 la première table est celle des rentrées et la seconde est celle des sorties et elles n'ont de "commun" que la colonne : DATE et MONTANT.
Bis repetitae :
Dude a écrit : 09 avr. 2023 20:43 le modèle relationnel est mauvais
Il ne faut qu'une seule table avec soit :
  • un montant positif pour les recettes et négatif pour les dépenses
  • une colonne recette et une colonne dépense
  • le montant et une colonne déterminant s'il s'agit d'une recette ou d'une dépense
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Créer une requête avec deux tables, à regrouper par mois

Message par godefroy »

Il ne faut qu'une seule table avec soit :

un montant positif pour les recettes et négatif pour les dépenses
une colonne recette et une colonne dépense
le montant et une colonne déterminant s'il s'agit d'une recette ou d'une dépense
Bien joué Dude.

Godefroy
Libre Office 6.0.7 Ubuntu 18.04
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Créer une requête avec deux tables, à regrouper par mois

Message par godefroy »

godefroy a écrit : 10 avr. 2023 13:20
Il ne faut qu'une seule table avec soit :

un montant positif pour les recettes et négatif pour les dépenses
une colonne recette et une colonne dépense
le montant et une colonne déterminant s'il s'agit d'une recette ou d'une dépense
Bien joué Dude.

Godefroy
Salut l'ami,

Je fais donc le suivi selon instructions de Dude.

A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 Ubuntu 18.04
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

Re: Créer une requête avec deux tables, à regrouper par mois

Message par cegtio »

Merci beaucoup pour vos suggestions, je vais tester cela !
LibreOffice 7.5 sous MacOS 10.15.7