webForumDet fria alternativet

Krongel krongel :i

Databaser & SQLur Databashanterare & SQL

2 svar · 232 visningar · startad av mikul

Medlem sedan aug. 20013 824 inlägg
Frågan#1

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

Medlem sedan dec. 200012 464 inlägg
#2

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 "
Medlem sedan aug. 20013 824 inlägg
#3

Tack så mycket LarsG, fick det att funka och har även lärt mig lite nya saker :D

129 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)