从一个表中选择所有行,并为另一个表中的每一行选择一个特定值


Select all rows from one table and one specific value for each row from another table

下午好,小伙子们,我想做一个页面,我可以检查我今天做了哪些老板。我有两个表(表与老板和表与老板时间)。现在我需要显示所有boss,但对于每个boss,我只想显示最近的boss生成时间。

到目前为止的选择看起来像这样:

$timePlus = strtotime($currentTime) + 60*60*2.2;
$timePlusForm = date("H:i:s", $timePlus);
$userNametoLower = strtolower($userName);
$userTableName = "".$userNametoLower."_bosses";
$currentTime = date("H:i:s", time());
"SELECT `bossTime`.`ID`, `bossTime`.`bossID`, `bossTime`.`time`, `$userTableName`.`ID`, `$userTableName`.`name`, 
                  `$userTableName`.`zone`, `$userTableName`.`map`, `$userTableName`.`waypointCode`, `$userTableName`.`bossDone`
                  FROM `bossTime` LEFT JOIN `$userTableName` ON `$userTableName`.`ID` = `bossTime`.`bossID`
                  WHERE `bossTime`.`time` BETWEEN '$currentTime' AND '$timePlusForm'
                  GROUP BY `bossTime`.`bossID`
                  ORDER BY `bossTime`.`time` ASC";

问题是这个select不会从时间表中选择下一个最接近的值。我也尝试了BETWEEN,它也不起作用(有些老板得到了正确的最接近时间,但其他老板得到了第二接近时间)。

我删除了GROUP BY并将条件更改为WHERE bossTime。time>= '$currentTime' AND bossTime。time <='$timePlusForm',由于某些原因它可以工作