Hej på er.. Nu har jag nog suttit för länge vid datorn. :D
Jag har lite svårt med att få till en sql-fråga som skall kolla om det finns några lediga lägenheter mellan vissa datum som redan finns i en annan kolumn.
Jag har försökt med den här sql-frågan, men den hämtar aldeless fel, tror den hämter efter antal bokade lägenheter i stället :(
SELECT t1.*, t3.fromdate, t3.todate
FROM apartments as t1, apartmentbooking as t2, admin as t3
WHERE t1.apartmentno = t2.Rel_ApartmentNO
AND cint(t2.relationID) = cint(t3.RelationID)
AND NOT cDate(t3.fromdate) BETWEEN cDate(t2.startdate) AND cDate(t2.enddate)
AND NOT cDate(t3.todate) BETWEEN cDate(t2.startdate) AND cDate(t2.enddate)
ORDER BY t1.apartmentno ASC;
t1 innehåller en lista med alla lägenheter.
t2 innehåller alla bokningar.
Och i t3 finns de datumen som man skall kolla om det finns några lägenheter lediga mellan.
så jag vill hämta alla kolumner i t1 som inte är bokade i t2 mellan datumen som man hämtar från t3. hängde ni mä :e
Jag förstår inte vitsen med tabellen admin. Kan den innehålla flera rader? Hur är det tänkt att fungera om någon lägenhet aldrig har haft någon bokning? Jag tycker inte att det hänger ihop.
Det skulle vara enklare om du hade datumen som varibler istället
q = "SELECT t1.* " & _
" FROM apartments t1 " & _
" WHERE not exists ( select * from apartmentbooking as t2 " & _
" where t1.apartmentno = t2.Rel_ApartmentNO " & _
" AND (#" & fromdate & "# BETWEEN cDate(t2.startdate) AND cDate(t2.enddate) " & _
" or #" & todate & "# BETWEEN cDate(t2.startdate) AND cDate(t2.enddate) )) " & _
" ORDER BY t1.apartmentno ASC "