2016-03-27 21 views
0

2つのテーブルを作成しました.1つはジョブ用、1つはアプリケーション用です。ユーザーがジョブを申請すると、job idがアプリケーションテーブルに挿入されます。2つのテーブルを使用してmysql結果を表示する方法

私の質問は:ユーザーがジョブに応募した後、彼には適用されなかったジョブだけを表示するにはどうすればいいですか?

+3

テーブル構造(スキーマ)を表示 – RomanPerekhrest

+0

'INNER JOIN'を' WHERE'節と組み合わせて使用​​してください。 –

+0

@ Quasimodo'scloneではLEFT JOINまたはNOT EXISTS条件を除外しなければなりません。 –

答えて

0

はこれで作るようにしてください...それは役立ちます願っています。

select jobid 
from jobs 
where jobid not in(select jobid from applications where userid/username=person) 
+0

...どちらのテーブルにも使用されているサンプルデータを投稿できますか? –

+0

OK ...ここでは、ジョブテーブルからジョブのリストを取得することを望みます。 SELECT JOBIDはジョブテーブルから行を取得しようとします。アプリケーション・テーブルにリストされていないジョブを避けるために、サブ・クエリでNOT INを使用しています。サブクエリは、適用されるジョブのリストを戻します。 explテーブルをより明確にするためにrefテーブルが要求されました。 –

1

あなたはこのようにMySQLのクエリを使用する必要があります。

まず:アプリケーション表からユニークJOB_IDを選択し、配列に格納します。

第二には:前の配列のものを除き、すべてのジョブを選択します。

Select * from jobs where id not in ($array);