[MYSQ] Query

Pagina: 1
Acties:

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Er zijn twee tabellen :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE maurick_room_reservation 
(
  maurick_room_number int(11)   NOT NULL default '0',
  studentNumber  int(10)    NOT NULL default '0',
  hour          enum('3','5')NOT NULL default '3',
  date          date default     NULL       
) TYPE=MyISAM;

CREATE TABLE maurick_room 
(
  number int(11) NOT NULL auto_increment
  PRIMARY KEY (number)
) TYPE=MyISAM;

Natuurlijk is dit niet heel de tabel, maar om het overzichtelijk te houden vermeld ik alleen de belangrijke velden.

Uitleg
Voor n aantal "rooms" is het mogelijk om n "reservations" te maken.
Dat wil zeggen dat er bijvoorbeeld een "room" mediatheek is waar internetplaatsen gereserveerd kunnen worden door studenten, deze reserveringen worden opgenomen in de table "maurick_reseervation".

Doel
Uit deze tabellen wil ik het volgende lijstje
Voor de komende 5 dagen weten hoeveel reservering op welk uur zijn per room .
Hierbij moeten zaterdag en zondag overgeslagen worden.

Lijstje :
mrr = maurick_room_reservation
mr = maurick_room


mrr.date mr.number - mr.name - mrr.hour - count(*D

De query die ik hiervoor gebruikt is :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT  
      mrr.date ,
      mr.number ,
    mr.name ,
    mrr.hour ,
    count(*)
FROM 
    maurick_room_reservation mrr ,
    maurick_room mr
WHERE 
    mrr.maurick_room_number = mr.number AND
    DAYOFWEEK(mrr.date) <> 7 AND 
    DAYOFWEEK(mrr.date) <> 1 AND 
    TO_DAYS(NOW()) >= TO_DAYS(mrr.date) 
GROUP BY 
    mrr.date 
ORDER BY 
    mrr.date
LIMIT
    0,6

Probleem/Vraag
Nou is de vraag of dit de manier is en of dat niet fout gaat ?
Iemand ?
De query werkt met mijn testdata, maar die is erg beperkt.
Iemand die er ff naar kan kijken ?

Hoe kan ik in deze query inbouwen dat ie aangeeft hoveel rooms er zijn ?

Hoe kan ik er voor zorgen dat ie alle rooms geeft hour and datum ook als daar geen reserveringen voor zijn