如何在SELECT中添加0/1指标的列?

时间:2015-09-04 10:42:16

标签: mysql sql join

如果用户列在表IsDriver中,我想将rides设置为1。否则IsDriver应为0。

SELECT rides.IdRide, users.IdUser, IsDriver
FROM users, rides
LEFT JOIN...
WHERE rides.IdUser = users.IdUser

示例输出:

idRide | idUser | ISDriver
1      | 1      | 0
1      | 2      | 1
2      | 1      | 1
3      | 3      | 1

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT r.IdRide, u.IdUser,
(CASE WHEN  r.IdRide IS NOT NULL THEN 1
     ELSE 0
END
)As IsDriver

FROM users u
LEFT JOIN rides r ON  
u.IdUser =r.IdUser

答案 1 :(得分:1)

将您的查询更改为:

SELECT users.IdUser, (rides.IdUser is not null) as IsDriver, rides.IdRide
FROM users
LEFT JOIN rides ON rides.IdUser = users.IdUser

看起来您的示例输出不正确。第一行必须具有IdRide = null,因为rides表中没有对应的行。