【发布时间】:2020-05-11 14:32:51
【问题描述】:
我试图从这个 sql 查询中获取 currentManager 和 beforeManager,但我猜我的 IF 语句做错了。 有一个sql查询:
SELECT number, year_made, model,
IF(car_management.date_to >= NOW(), users.name, null) AS currentManager,
IF(car_management.date_to < NOW(), users.name, null) AS beforeManager,
statuses.name AS statusName
FROM cars
LEFT JOIN car_management ON car_management.cars_id = cars.id
LEFT JOIN users ON users.id = car_management.user_id
LEFT JOIN car_status ON car_status.cars_id = cars.id
LEFT JOIN statuses ON statuses.id = car_status.status_id
我得到的结果是 NULL 的 where IF 语句返回 else,结果如下:
我需要将这 4 行连接成两行,而不是 NULL 和连接值。
有人对此问题有任何解决方案吗?
【问题讨论】:
标签: mysql sql if-statement join left-join