QA@IT
«回答へ戻る

回答を投稿

h-satomiさんのいう通り間違っていました。すいません。
まだ半分もできていない感じです。。

【半分くらいできたSQL:訂正版】
select 履歴データ.No,履歴データ.社員番号
from マスタ left join 履歴データ on 履歴データ.No=マスタ.No
where not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号='001'
※社員番号を'001'としていますが、社員番号を'002'としても'002'のデータは抽出できません。
 社員番号'002'のデータも抽出できて、そこに社員番号を渡せたらいいと思います。

Shuさんのいう通り、説明不足でしたので追記します。
【関連性】
(マスタ.No)⇔(履歴データ.No⇔履歴データ.社員番号)⇔(社員マスタ.社員番号)

【抽出したいデータの説明】
社員マスタの社員ごとに、マスタのデータの中で履歴データを保持していないデータを抽出したいです。
具体的には、マスタとは研修マスタで、研修履歴のない人に対して研修するデータを抽出したいと思っています。

よろしくお願いします。

h-satomiさんのいう通り間違っていました。すいません。
まだ半分もできていない感じです。。

【半分くらいできたSQL:訂正版】
select 履歴データ.No,履歴データ.社員番号 
from マスタ left join 履歴データ on 履歴データ.No=マスタ.No
where not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号='001'
※社員番号を'001'としていますが、社員番号を'002'としても'002'のデータは抽出できません。
 社員番号'002'のデータも抽出できて、そこに社員番号を渡せたらいいと思います。

Shuさんのいう通り、説明不足でしたので追記します。
【関連性】
(マスタ.No)⇔(履歴データ.No⇔履歴データ.社員番号)⇔(社員マスタ.社員番号)

【抽出したいデータの説明】
社員マスタの社員ごとに、マスタのデータの中で履歴データを保持していないデータを抽出したいです。
具体的には、マスタとは研修マスタで、研修履歴のない人に対して研修するデータを抽出したいと思っています。

よろしくお願いします。