参加把握することはできません:列とOracleのSQL、左が私は2つのテーブル持って
Person
テーブルをperson_id
Employee
emp_type
= full
または
part
列を持つテーブル私が返すクエリを必要としますPerson
のすべての人が、フルタイムの従業員は除外します。私が苦労しているのは、必ずしもすべての人がEmployee
テーブルにいるわけではありません。
誰かが私を助けることができますか?ありがとう!
参加把握することはできません:列とOracleのSQL、左が私は2つのテーブル持って
Person
テーブルをperson_id
Employee
emp_type
= full
または
part
列を持つテーブル私が返すクエリを必要としますPerson
のすべての人が、フルタイムの従業員は除外します。私が苦労しているのは、必ずしもすべての人がEmployee
テーブルにいるわけではありません。
誰かが私を助けることができますか?ありがとう!
以下のコードを試すことができますが、私たちにテーブル構造を与えていないので、ここで何を意味するのか分かりません。
select *
from person p
left join employee e on p.person_id = e.person_id
where p.emp_type <> 'full'
完全なクエリやテーブル構造情報を投稿していないため、調整が必要です。しかし、not exists
節を使用することは、おそらくこれを行う最も単純な方法です。
select p.*
from person p
where not exists (select null
from employee e
where e.person_id = p.person_id
and e.emp_type = 'full')
実際のテーブル構造と、理想的にはサンプルデータを示してください。 –
@Kritnerそれは、OPが実際のテーブル構造やデータを投稿しなかったため、従業員は1つの指定しか持たないと仮定します。 –
@TimBiegeleisenええ、だからこそ私はコメントをしただけです:) – Kritner