Bonjour,
Je gère une base de données de locaux commerciaux et de leur occupation par les différents commerces qui se succèdent à l'intérieur de ces locaux.
J'ai donc une table des Locaux où chaque local est unique (clé primaire ID local) avec une adresse et ses coordonnées de géolocalisation.
J'ai une table Etablissements avec le siret (clé primaire de cette table) qui constitue l'identifiant unique de chaque établissement avec, pour chaque enregistrement, une date de début d'activité et une date de fin d'activité. La date de début d'activité est toujours renseignée, celle de fin d'activité l'est seulement quand l'établissement cesse son activité.
Quand plusieurs établissements se succèdent à l'intérieur d'un même local il y a toujours cohérence entre les dates d'occupation (pas de chevauchement). Il se peut que le local soit inoccupé, le dernier occupant n'ayant pas été remplacé.
La relation entre ces deux tables se fait au travers de l'ID local, présent dans les deux (de 1 (table des locaux) vers l'infini (table des établissements).
Mon problème est le suivant :
Je voudrais pouvoir obtenir pour chaque local (au travers d'une ou plusieurs requêtes), l'établissement qui l'occupe et est en activité, ou le dernier établissement qui l'a occupé..
Le résultat attendu est tous les Id Locaux de la table des locaux et le Siret de la table des Etablissements de l'occupant actuel du local ou celui du dernier à l'avoir occupé.
Je ne sais pas si je suis clair, mais si vous avez une idée, je suis preneur.
Merci d'avance.
Partager