0

私は現在ライブ サイトで作業しており、実装する前にコードを再確認する必要があります。私はjsfiddleでこれを行うことはできません:(

私は2つの変数を持っています:

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

私がする必要があるのは、job_idと の両方に一致する全体があることをデータベースで確認することuser_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'];
}

関連する user_ids を持たない job_ids が返されるかどうかは 100% わかりません。私の同僚は、各 job_id をループして、それぞれに対して個別のクエリを実行することを提案しましたが、これは私にとって本当に悪い習慣に思えます。

また、ライブ サイトから離れた場所で mysql クエリをすばやくテストするためのリソースを見つけることにも関心があります。リンクをいただければ幸いです :)

4

2 に答える 2

0

これは1つのクエリでそれを行うと思います:

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 に答える