onzoMedlem sedan okt. 200617 inlägg Jag har en tabell som heter Restaurang och som bland annat innehåller detta:
RBokningsID (Interger)
RRestaurang (VarChar (20))
RDatum (Date)
Jag har dessutom en tabell som heter Reservationer och som bland annat innehåller
ReBokningsID (Interger)
ReBord (Interger)
ReBokad(VarChar(1))
Jag skulle nu vilja, med hjälp av en SQL-sats, kunna se hur många lediga platser det finns vid en viss kväll, ex 2006-10-21 för var och en av restaurangerna (det finns två stycken). Båda restaurangerna har 50 platser så det som skall skrivas ut är alltså Restaurangnamn, Datum samt 50-bokningar för restaurangen den kvällen, för båda restaurangerna. Är det inga bokningar så skall alltså 50 skrivas ut.
Jag får inte till detta. Förmodar att det måste vara något med underfrågor och sånt har jag aldrig jobbat med så jag vet inte alls hur man skall göra.
Jag vet inte om det är till någon hjälp men jag kör MySQL 5.0 och EMS SQL Manager för MySQL.
Vore tacksam för ett och annat tips.
emissionMedlem sedan dec. 19996 721 inlägg Är inte riktigt med på vad tabellen Reservationer tillför så...
SELECT RRestaurang, RDatum, 50-count(*) FROM Restaurang
GROUP BY RRestaurang,RDatum
onzoMedlem sedan okt. 200617 inlägg För det första, det skall vara "Bord" och inte 50 platser som jag skrev.
ReBokad innehåller ett J om bordet är bokat.
Vad jag skulle vilja ha fram är alltså hur många lediga bord det finns en viss dag.
Exempel
Restaurang1 45 (50 - räkna alla rebokad som är J)
Restaurang2 50 (50 - räkna alla rebokad som är J)
Inser allt mer och mer att jag nog inte har världens smartaste uppbyggnad av tabellerna, men det är försent att ändra det nu misstänker jag (mycket jobb är gjort redan).
emissionMedlem sedan dec. 19996 721 inlägg SELECT r.RRestaurang, r.RDatum, 50-count(r2.ReBokningsID) FROM Restaurang r
LEFT OUTER JOIN Reservationer r2 ON r.BokningsID=r2.ReBokningsID AND r2.ReBokad='J'
GROUP BY r.RRestaurang,r.RDatum
Inser allt mer och mer att jag nog inte har världens smartaste uppbyggnad av tabellerna, men det är försent att ändra det nu misstänker jag (mycket jobb är gjort redan).
Om du tycker att uppbyggnaden är fel så bör du byta snarast. Feldesignade databaser får man äta upp i det långa loppet.
BTW. Det stavas Integer.. ;)
onzoMedlem sedan okt. 200617 inlägg Det funkade grymt bra.....
Stort tack!