Bonjour à tous,
J'ai 2 tables
dlocSaison : stock des maisons en location
idDlocSaison reference 1 référence 1 2 référence 2
DlocSaisonPlanningChangeover : Stock les jours ou les entrés/sortie sont possible (C : entrée et sortie possible | I : entrée possible | O : Sortie possible | X : pas d'entée ni de sortie)
idDlocSaison date etat 1 2019-06-23 I 1 2019-06-24 X 1 2019-06-25 X 1 2019-06-26 C 1 2019-06-23 X 1 2019-06-24 C 1 2019-06-25 C 1 2019-06-26 C
J'ai une date d'arrivée le 2019-06-23 et de départ le 2019-06-26.
Je souhaites donc récupérer les id de biens remplissants les conditions
- date d'arrivée = 2019-06-23 ET etat = I ou C
- date de départ = 2019-06-26 ET etat = I ou C
En écrivant cette demande je me rend compte de ma nullité mais j'ai passé une 10aine d'heures avec des EXIST, UNION, sous requêtes... mais je n’arrive à rien.
Soit je n'ai aucun résultat soit j'en ai trop.
Voilà un de mes essai :
Merci !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 SELECT DISTINCT `dlocSaison`.`idDlocSaison`, `dlocSaison`.`reference`, `dlocSaisonPlanningChangeover`.`date`, `dlocSaisonPlanningChangeover`.`etat`, FROM `dlocSaison`, `dlocSaisonPlanningChangeover` WHERE `dlocSaison`.`idDlocSaison` = `dlocSaisonPlanningChangeover`.`idDlocSaison` AND `dlocSaisonPlanningChangeover`.`date` IN ('2019-06-23','2019-06-29') AND `dlocSaisonPlanningChangeover`.`etat` IN ('C', 'I', 'O') AND ( EXISTS ( SELECT `dlocSaisonPlanningChangeover`.`date` FROM `dlocSaison`, `dlocSaisonPlanningChangeover` WHERE `dlocSaison`.`idDlocSaison` = `dlocSaisonPlanningChangeover`.`idDlocSaison` AND `dlocSaisonPlanningChangeover`.`date` = '2019-06-23' AND `dlocSaisonPlanningChangeover`.`etat` IN ('C', 'I') ) AND EXISTS ( SELECT `dlocSaisonPlanningChangeover`.`date` FROM `dlocSaison`, `dlocSaisonPlanningChangeover` WHERE `dlocSaison`.`idDlocSaison` = `dlocSaisonPlanningChangeover`.`idDlocSaison` AND `dlocSaisonPlanningChangeover`.`date` = '2019-06-29' AND `dlocSaisonPlanningChangeover`.`etat` IN ('C', 'O') ) )
Partager