SQL - svær forspørgsel
HejHåber der er en der er stærk i SQL som har mod på en svær en :)
---------------------
Jeg har følgende tabeller i et mini booking system
Alle dates er timestamp
---------------------
Ressourcer
En form for kategori til units (units er det man kan booke)
Units
De enheder man kan booke
Price:
Prisen på hele "kategorien" (dvs. alle units tilhørende den) hvor man kan oprette flere så den kan være forskellige i perioder. Kun i perioder der er indsat her kan man booke den. Dvs. er der ikke sat noget i april f.eks. så kan den ikke bookes der
Reservation
De reservationer der er lavet
----------------------
Jeg vil gerne hente alle de units (bruName) samt ressourcens navn (brName) på alle de ledige units
Dvs. den skal:
- Tjekke tjekke om startdato ligger inden for en startdato der er oprettet i price tabellen
- Tjekke om slutdato ligger inden for en dato der er oprettet i price tabellen
- Tjekke om de mellemlæggende dage er i perioder der er oprettet i pricetabel
- Tjekke om de enkelte units er booket hele eller dele af den valgte periode ved at kigge i reservationstabellen
Der skal måske bruges flere forspørgsler - men håber der er en der er stærk til SQL der kan knække den :)
----------------------
TABELOPBYGNING
----------------------
b_resources:
----------------------
brId
brName
...
----------------------
b_resource_units
----------------------
bruId
bruResourcesId
bruName
...
----------------------
b_resource_price
----------------------
brpId
brpResourceId
brpDateFrom
brpDateTo
brpPrice
....
----------------------
b_reservation
----------------------
bresId
bresName
bresResourceId (behøves nok ikke)
bresUnitId
bresBookedFrom
bresBookedTo
....