第一个表是service表,第二个表是reservation表。

我的要求是:首先,我需要从服务表中选择service_id,金额,并且如果所选的service_id在特定日期保留在预订表中,那么我需要按原样选择total_seats值。如果从服务表中选择的服务ID在预定表中的特定日期不存在,那么我需要将total_seats值选择为60。

----------------------
| service_id |amount |
----------------------
| 3000       | 500   |
----------------------
| 3001       | 300   |
----------------------
| 3002       | 800   |
----------------------

---------------------------------------
| bus_service_id |  DOJ       |total_seats
------------------------------------------
|  3002          | 2013-10-11 |   23
------------------------------------------
|  3001         | 2013-10-6   |   26
------------------------------------------
|  3001         | 2013-10-12  |  50
------------------------------------------
|  3000         | 2013-10-6   | 41
------------------------------------------


请帮我怎么做?我需要传递一个输入参数DOJ。

最佳答案

这样做:

SELECT IFNULL(total_seats, 60) total_seats
FROM service_table s
LEFT JOIN reservation_table r
ON s.service_id = r.bus_service_id AND DOJ = @DOJ


DOJ测试必须位于ON子句中,以便该测试不会筛选出不匹配时产生的空行。

关于mysql - 遍历mysql中的select语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19074966/

10-11 01:21