0

我目前正在一个实时网站上工作,需要在实施之前仔细检查我的代码。我不能在 jsfiddle 上这样做:(

我有两个变量:

$user_id (users user id - one only)
$job_id (an array of job ids that could number from 0 to numerous)

我需要做的是检查数据库中是否有与 .job_iduser_id. 如果没有匹配,那么我需要返回每个job_id不匹配的:

$job_id=join(',',$job_id);
$query="SELECT job_id FROM table WHERE job_id NOT IN('$job_id') AND user_id='$user_id'";
....do myslqi query etc
while($row=mysqli_fetch_array($result))
{
    $no_match[]=$row['job_id'];
}

我不是 100% 确定这是否会返回没有相关 user_ids 的 job_ids。我的同事建议遍历每个 job_id 并为每个 job_id 执行单独的查询,但这对我来说听起来很糟糕。

我也有兴趣找到任何资源来快速测试远离实时站点的 mysql 查询 - 链接将不胜感激:)

4

2 回答 2

0

我认为这是在一个查询中完成的:

SELECT job_id
FROM table
WHERE user_id = '$user_id'
AND NOT EXISTS 
  (SELECT *
   FROM table
   WHERE user_id = '$user_id'
   AND job_id IN ($job_id))
于 2013-06-27T23:24:55.323 回答
0

此查询返回没有您指定的作业 ID 但具有 user_id 的行,

 $query="SELECT job_id FROM table WHERE job_id NOT IN('$job_id') AND user_id='$user_id'";

如果您想要没有用户 ID 的作业 ID,请使用。

 $query="SELECT job_id FROM table WHERE job_id IN('$job_id') AND user_id!='$user_id'";
于 2013-06-27T23:10:45.360 回答