我准备了一个带有多表连接的查询。我用这个查询得到了一个完美的结果:
SELECT
`request`.`ID` , `request`.`USER_ID` , `donor`.`FULL_NAME` ,
`request`.`BLOOD_GROUP`, `request`.`UNITS` , `city`.`NAME` AS `LOCATION`,
`city`.`ID` AS `LOCATION_ID` , `request`.`DATE` , `request`.`EXPIRES_ON` ,
`request`.`ADDRESS` , `request`.`STATUS`
FROM `request`
JOIN `donor` ON `donor`.`ID` = `request`.`USER_ID`
JOIN `city` ON `city`.`ID` = `request`.`LOCATION`
ORDER BY `request`.`DATE`
在这里,我得到了我期待的所有行......
但是,第二个查询增加了 count( response.ID
) 列,生成了一个计数为 1 的单行,因为表中只有一行response
。
这是修改后的查询:
SELECT
`request`.`ID` , `request`.`USER_ID` , `donor`.`FULL_NAME` ,
`request`.`BLOOD_GROUP` , `request`.`UNITS` , `city`.`NAME` AS `LOCATION` ,
`city`.`ID` AS `LOCATION_ID` , `request`.`DATE` , `request`.`EXPIRES_ON` ,
`request`.`ADDRESS` , `request`.`STATUS`, count(`response`.`ID`) AS `RESPONSE`
FROM `request`
JOIN `donor` ON `donor`.`ID` = `request`.`USER_ID`
JOIN `city` ON `city`.`ID` = `request`.`LOCATION`
JOIN `response` ON `response`.`REQUEST_ID` = `request`.`ID`
ORDER BY `request`.`DATE`
我在这里期望的是查询返回表中的所有行,并从它是 0 还是任何整数request
返回计数。response
我尝试使用其他问题中使用的策略,但没有奏效。如果他们对此有任何解决方案,请建议我。如果什么都没有,那么我只有一个选择,那就是为了计数而进行另一个查询。