1

あいまいな件名であることはわかっています。名前が正確にわかっていれば、Google が答えてくれるからです。そして、英語でごめんなさい。

さて、私は以下のように見える3つのテーブルを持っています

job   job_hide  user  
---   --------  ----  
id    job_id    id  
name  user_id   name

id として 1、2、3 を持つ 3 つのジョブと、id として 2 つのユーザー test1、test2、および job_id として 2 と user_id として test2 を持つ job_hide の 1 つのレコードがあるとします。

私の質問は、ユーザー test2 がログインした場合に左結合を使用する方法です。id 2 のジョブが job_hide テーブルに追加されているため、id 2 のジョブを除くすべてのジョブを選択したいです。

前もって感謝します。

4

2 に答える 2

0
SELECT id, name
FROM job
WHERE id NOT IN
      ( SELECT job_id
        FROM job_hide AS jh
        WHERE jh.job_id = job.id
          AND jh.user_id = 2            --- 2 is the @id_of_the_logged_user
       )
于 2012-04-25T09:01:41.557 に答える
0

そのために is null 条件を使用するだけです。

select job.* from job left join job_hide 
on (job.id = job_hide.job_id and job_hide.user_id = 'test2')
where job_hide.job_id is null
于 2012-04-25T08:18:53.570 に答える