这是我的查询
SELECT username, userlevel, mobile,
IF((SELECT count(*) FROM active_users WHERE username=a.username) AS COU > 0 ), 10, 0)
AS status
FROM users a
如果计数大于0,我想返回10,否则我想返回0。这可能吗 。 在这我想要返回4列用户名,用户级别,移动,状态,我正在将状态作为参数来分类用户。如果这个值在这里被分类,它将减少php中的条件语句。所以我试图在这里整理
答案 0 :(得分:1)
您可以尝试使用CASE WHEN
表达式:
SELECT a.username, a.userlevel, a.mobile,
CASE WHEN (SELECT COUNT(*) FROM active_users WHERE username = a.username) > 0
THEN 10
ELSE 0
END AS status
FROM users a