Php 查询以清除某些记录
好的,所以表1包含了一个具有相关ID号的用户列表。它还包含一个“非活动”字段(我将在下面引用)。表2显示了已填写的报告列表,其中记录了用户的报告以及该唯一ID 我要做的是选择超过30天的报告。如果用户在该时间段内没有填写报告,我想将其在表1中的状态设置为“非活动” 我最大的挑战是有许多报告返回相同的ID号。我不知道如何将它们放入阵列或任何没有重复的东西中Php 查询以清除某些记录,php,mysql,Php,Mysql,好的,所以表1包含了一个具有相关ID号的用户列表。它还包含一个“非活动”字段(我将在下面引用)。表2显示了已填写的报告列表,其中记录了用户的报告以及该唯一ID 我要做的是选择超过30天的报告。如果用户在该时间段内没有填写报告,我想将其在表1中的状态设置为“非活动” 我最大的挑战是有许多报告返回相同的ID号。我不知道如何将它们放入阵列或任何没有重复的东西中 我希望这已经足够清楚了。您似乎在为30天内没有报告的用户寻找用户id值列表。您想在更新查询中使用该列表来设置那些用户不活动 名单如下:
我希望这已经足够清楚了。您似乎在为30天内没有报告的用户寻找
用户id
值列表。您想在更新
查询中使用该列表来设置那些用户不活动
名单如下:
SELECT u.user_id
FROM user u
LEFT JOIN report r ON r.user_id = u.user_id
AND r.reportdate < CURDATE() - INTERVAL 30 DAY
WHERE r.user_id IS NULL
你能提供一个sql的例子吗?这样做会更容易。
UPDATE user
SET status='inactive'
WHERE user_id IN (
SELECT u.user_id
FROM user u
LEFT JOIN report r ON r.user_id = u.user_id
AND r.reportdate < CURDATE() - INTERVAL 30 DAY
WHERE r.user_id IS NULL
)