QA@IT
«質問へ戻る

お困りなのでしょうが、回答がほしいのは皆同じ。タイトルにビックリマークを付けないでください

1138
タイトル
SQLで履歴を含まないデータの抽出ができそうでできません!
SQLで履歴を含まないデータの抽出ができそうでできません

SQLで履歴を含まないデータの抽出ができそうでできません

SQLで履歴を含まないデータの抽出ができそうでできません。
半分くらいはできますが、どうしても最後まで抽出できません。
分かる方は、ぜひ助けてください!!

【元データ】
・マスタ
No  名称
1  マスタ1
2  マスタ2
3  マスタ3

・社員マスタ
社員番号 氏名
001   氏名1
002   氏名2

・履歴データ
No  社員番号
1  001
2  001

【抽出したいデータ】
No  社員番号
3  001
1  002
2  002
3  002

【半分くらいできたSQL】
select マスタ.No,T1.社員番号 from マスタ
not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号=
(select 社員番号 from 社員マスタ)) AS T1

【失敗した抽出】
No  社員番号
3  001

どうして社員番号が002のデータが出ないのでしょうか?
Accessで作業しているのでAccessで出せる程度のSQLが助かります。
もしAccessで無理でも、今後のためにSQLで出す方法を知りたいです。

SQLで履歴を含まないデータの抽出ができそうでできません。
半分くらいはできますが、どうしても最後まで抽出できません。
分かる方は、ぜひ助けてください!!

【元データ】
・マスタ
No  名称
1  マスタ1
2  マスタ2
3  マスタ3

・社員マスタ
社員番号 氏名
001   氏名1
002   氏名2

・履歴データ
No  社員番号
1  001
2  001

【抽出したいデータ】
No  社員番号
3  001
1  002
2  002
3  002

【半分くらいできたSQL】
select マスタ.No,T1.社員番号 from マスタ
 not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号=
(select 社員番号 from 社員マスタ)) AS T1

【失敗した抽出】
No  社員番号
3  001

どうして社員番号が002のデータが出ないのでしょうか?
Accessで作業しているのでAccessで出せる程度のSQLが助かります。
もしAccessで無理でも、今後のためにSQLで出す方法を知りたいです。

質問を投稿

SQLで履歴を含まないデータの抽出ができそうでできません!

SQLで履歴を含まないデータの抽出ができそうでできません。
半分くらいはできますが、どうしても最後まで抽出できません。
分かる方は、ぜひ助けてください!!

【元データ】
・マスタ
No  名称
1  マスタ1
2  マスタ2
3  マスタ3

・社員マスタ
社員番号 氏名
001   氏名1
002   氏名2

・履歴データ
No  社員番号
1  001
2  001

【抽出したいデータ】
No  社員番号
3  001
1  002
2  002
3  002

【半分くらいできたSQL】
select マスタ.No,T1.社員番号 from マスタ
not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号=
(select 社員番号 from 社員マスタ)) AS T1

【失敗した抽出】
No  社員番号
3  001

どうして社員番号が002のデータが出ないのでしょうか?
Accessで作業しているのでAccessで出せる程度のSQLが助かります。
もしAccessで無理でも、今後のためにSQLで出す方法を知りたいです。

SQLで履歴を含まないデータの抽出ができそうでできません。
半分くらいはできますが、どうしても最後まで抽出できません。
分かる方は、ぜひ助けてください!!

【元データ】
・マスタ
No  名称
1  マスタ1
2  マスタ2
3  マスタ3

・社員マスタ
社員番号 氏名
001   氏名1
002   氏名2

・履歴データ
No  社員番号
1  001
2  001

【抽出したいデータ】
No  社員番号
3  001
1  002
2  002
3  002

【半分くらいできたSQL】
select マスタ.No,T1.社員番号 from マスタ
 not exists(select 'X' from 履歴データ where 履歴データ.No=マスタ.No and 履歴データ.社員番号=
(select 社員番号 from 社員マスタ)) AS T1

【失敗した抽出】
No  社員番号
3  001

どうして社員番号が002のデータが出ないのでしょうか?
Accessで作業しているのでAccessで出せる程度のSQLが助かります。
もしAccessで無理でも、今後のためにSQLで出す方法を知りたいです。