Bonjour,
Malgré de nombreuses recherches, je n'ai pas trouvé ou pas su faire le "lien" entre ce que je désire faire et ce que j'ai pu lire.
Je connais un (petit) peu le langage SQL, je ne sais même pas si ce que je recherche à faire est possible.
Base de données utilisée, MySQL. Pour faire mes essais, j'utilise Access, mais au final, je devrais plutôt exécuter ma requête avec MySQL Workbench ou iReport.
Exposé du problème :
J'ai une table`immeuble` à laquelle est liée un table `logement` (un immeuble a évidemment plusieurs logements), qu'il me faudra compter, mais ce sera pour la deuxième partie de ma question, donc une autre discussion éventuellement.
Le premier problème sur lequel je butte.
Structure de la table immeuble :
NUMERO_DOSSIER
LETTRE_DOSSIER
DATE_DEBUT
DATE_FIN
1000 A 01.01.2000 NULL
1001 A 01.07.2000 31.12.2002
1002 A 01.01.2001 NULL
1003 A 01.02.2002 30.11.2003
1004 A 01.06.2004 NULL
Je désire dans un premier temps obtenir ceci :
2000 1000 A
2000 1001 A
2001 1000 A
2001 1001 A
2001 1002 A
2002 1000 A
2002 1001 A
2002 1002 A
2002 1003 A
2003 1000 A
2003 1002 A
2003 1003 A
2004 1000 A
2004 1002 A
2004 1004 A
Une requête telle que :
ne répond évidemment pas à l'objectif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Year([DATE_DEBUT]) AS Annuel, immeuble.NUMERO_DOSSIER, immeuble.LETTRE_DOSSIER FROM immeuble GROUP BY Year([DATE_DEBUT]), immeuble.NUMERO_DOSSIER, immeuble.LETTRE_DOSSIER, immeuble.DATE_DEBUT;
Elle n'affiche que les dossier ayant commencé une année déterminée, et surtout elle occulte totalement l'année 2003, aucun dossier n'ayant commencé cette année là.
Et je ne peux pas utiliser une table temporaire.
Si vous avez des solutions, des tutos, des pistes, je suis preneur.
Merci d'avance.
Partager