第一个表是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/