我目前为表中的值实现某种版本控制。我在bookingId
和之间有一个复合主键revision
。我希望能够从该表中选择所有记录,它们是头部修订?我不确定我应该做什么。
[ bookingDetailsTable
]:
- [预订编号]
- [修订]
- [名称]
- ETC...
SELECT * from bookingDetailsTable group by bookingId
选择第一个修订,但我希望能够为每个预订选择 HEAD 修订。
我应该补充一点,我不能做这样的事情,因为 WHERE 只会选择整个表格中最高的修订版。
SELECT * from bookingDetailsTable where revision = (
select max(revision) from bookingDetailsTable
)
GROUP BY bookingId
我当前的选择
这是我当前的选择,它有三个连接。REVISION 控件仅限于详细信息表。所以我希望连接只使用这张表中的最高版本:
module_bookings_bookings_details
SELECT `b`.*, `b`.`id` AS `bookingId`, `d`.*, `c`.*, `p`.* FROM `module_bookings_bookings` AS `b`
INNER JOIN `module_bookings_bookings_details` AS `d` ON b.id = d.bookingId
INNER JOIN `module_bookings_clients` AS `c` ON b.clientId = c.id
LEFT JOIN `module_bookings_property` AS `p` ON d.propertyId = p.id GROUP BY `b`.`id`