[supersaibal]Originariamente inviato da chris
codice:
SELECT DISTINCT(c.id), p.id AS prenotata FROM camere AS c, prenotazioni AS p ON (c.id = p.id_camera) WHERE id_allotment = 1 AND ( ( a>dal and a<al ) or ( a>dal and a<al ) );
Questa dovrebbe tirare fuori tutti i record presentando un NULL per il campo "prenotata" quando la stanza è libera.

Le subquery dovrebbero essere supportate dalla versione 4.1 disponibile in download come versione consigliata. Potresti prendere in considerazione l'idea di comunicarlo al tuo provider. [/supersaibal]
SELECT DISTINCT (
c.id
), p.id AS prenotata
FROM mos_camere AS c, mos_prenotazioni AS p ON ( c.id = p.id_camera )
WHERE mos_prenotazioni.id_allotment =1
AND (
(
'2005-02-12' >= mos_prenotazioni.dal
AND '2005-02-12' <= mos_prenotazioni.al
)
OR (
'2005-02-19' >= mos_prenotazioni.dal
AND '2005-02-19' <= mos_prenotazioni.al
)
)
LIMIT 0 , 30

Stesso errore 1064:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON (c.id = p.id_camera) WHERE mos_prenotazioni.id_allotment=1 A

E' un errore nella query oppure NEANCHE questa sintassi e' supportata ?

EDIT: sembra che il problema sia la clausola ON...