Рассмотрим следующую таблицу:
un_id avl_id avl_date avl_status
1738 6377398 2011-03-10 unavailable
1738 6377399 2011-03-11 unavailable
1738 6377400 2011-03-12 unavailable
1738 6719067 2011-03-12 unavailable
1738 6719351 2011-03-12 available
1738 6377401 2011-03-13 unavailable
1738 6377402 2011-03-14 unavailable
1738 6377403 2011-03-15 unavailable
1738 6377404 2011-03-16 available
1738 6719068 2011-03-16 unavailable
1738 6719352 2011-03-16 available
Который получается из следующего запроса:
<code>
SELECT
tbl_unit.un_id,
tbl_availability.avl_id,
tbl_availability.avl_date,
tbl_availability.avl_status
FROM
tbl_unit
INNER JOIN
tbl_availability ON
tbl_unit.un_id = tbl_availability.un_id
WHERE
tbl_availability.avl_active='True' AND
tbl_unit.un_active='True' AND
tbl_availability.avl_date >= '2011-03-10' AND
tbl_availability.avl_date
Я хочу, чтобы GROUP BY un_id, чтобы отображался только avl_status с самым высоким avl_id. то есть:
un_id avl_id avl_date avl_status
1738 6377398 2011-03-10 unavailable
1738 6377399 2011-03-11 unavailable
1738 6719351 2011-03-12 available
1738 6377401 2011-03-13 booked
1738 6377402 2011-03-14 booked
1738 6377403 2011-03-15 booked
1738 6719352 2011-03-16 available
</code>
Я пытался добавить предложения GROUP BY и HAVING и различные подзапросы, но каждый раз мне не удавалось ....
Вся помощь приветствуется! :)
- Адам.