34,590
社区成员
发帖
与我相关
我的任务
分享
UPDATE ecs_users SET `status` = 1
WHERE user_id IN(
SELECT DISTINCT t1.user_id FROM ecs_users t1
LEFT JOIN ecs_user_account t2 ON t1.user_id = t2.user_id
WHERE (t2.add_time IS NULL AND t1.reg_time + 180 > NOW()) OR
(t2.add_time IS NOT NULL AND t2.add_time + 180 > NOW())
)
/* 该语句测试通过,可能返回NULL值 */
SELECT DISTINCT t1.user_id FROM ecs_users t1
LEFT JOIN ecs_user_account t2 ON t1.user_id = t2.user_id
WHERE (t2.add_time IS NULL AND t1.reg_time + 180 > NOW()) OR
(t2.add_time IS NOT NULL AND t2.add_time + 180 > NOW())
UPDATE ecs_users a inner join (SELECT DISTINCT t1.user_id FROM ecs_users t1
LEFT JOIN ecs_user_account t2 ON t1.user_id = t2.user_id
WHERE (t2.add_time IS NULL AND t1.reg_time + 180 > NOW()) OR
(t2.add_time IS NOT NULL AND t2.add_time + 180 > NOW())) b on a.user_id = b.user_id
SET a.`status` = 1
UPDATE ecs_users t1
LEFT JOIN ecs_user_account t2 ON t1.user_id = t2.USER_ID
SET status = 1
WHERE (t2.add_time IS NULL AND t1.reg_time + 180 > NOW()) OR
(t2.add_time IS NOT NULL AND t2.add_time + 180 > NOW())