У меня есть две таблицы: зоны и резервированиелевой присоединиться сложным, где положение
zones
-----
id:int
name:varchar
slots:int
reservations
------------
zone:int
timestamp:long
И мне нужно, чтобы получить все зоны с числом активных оговорок (оговорки, с отметкой времени меньше, чем reftimestamp не должно считаться активным).
EDIT OK С помощью этого запроса, я получаю лучший результат:
SELECT z.name, count(r.timestamp)
FROM zonas AS z
LEFT JOIN reservations AS r
ON z.id = r.zona
WHERE r.timestamp > $refTimestamp
GROUP BY z.id
Но я хочу, чтобы все зоны. Даже если на другом столе нет резервирования, он должен вернуть зону с нулем (0) на счетчик (r.timestamp)
Как это сделать?
И что именно не хватает? Как ваши результаты отличаются от ваших ожиданий? –
Попробуйте 'ON z.id = r.zona И r.timestamp> $ reftimestamp'. Наверное, у вас отсутствуют зоны, у которых нулевые резервирования в вашем результате? –
@David Lively это просто не работает (count (r. *)) –