allora prova così:
premetto che ho corretto le tabelle in questo modo (visto che mi hai chiesto come farei
):
ora
campi: idora (contatore), ora (testo)
appuntamenti
campi: idappuntamento (contatore), dataappuntamento (datetime), idora (numerico foreign key), iddottore (numerico foreign key)
(questo presuppone che tu abbia un'altra tabella di anagrafica dei dottori)
codice:
SELECT
o.ora, a.iddottore, COUNT(a.idapp) AS prenotato
FROM
ore AS o LEFT JOIN appuntamenti AS a ON
(
o.idora=a.idora
AND
a.iddottore=1
AND
a.dataapp=#16/01/2007#
)
GROUP BY o.idora, o.ora, a.iddottore
ORDER BY o.idora ASC