- ベストアンサー
SQLの作成を手伝っていただけませんか
会社の組織構造を表す「組織テーブル」とそこに所属する社員を表す「社員テーブル」から、データを抽出したいのですが、わたしが設定しようとした条件とはまったく違う結果が返ってきてしまいます。あつかましいお願いですが、お手伝いいただけたら幸いです。 テーブルは以下のような構造です(*がプライマリーキイ)。 1. 組織テーブル ORGANISATIONS ORG__KEY*, ORG_NAME, ORG_TYPE 一つのレコードにプライマリーキイのほかに組織名と組織タイプが入っています。 2. 社員テーブル EMPLOYEES ORG__KEY*, EMP_NO*, EMP_NAME, SEXUALITY 組織のプライマリーキイとその組織に着任した順序を表すEMP_NOでレコードを特定します。名前と性別(MかFを入力)も登録されています。 抽出条件は常設タイプ(ORGANISATIONS.ORG_TYPE = 'PERM')の組織のうち、所属する社員が全て男性であるものは何かです。また、組織名に「事業部」という文字列を含まないことも条件です。 わたしの書いた以下のSQLでは社員のいない組織、つまり「組織テーブル」に登録されているだけで「社員テーブル」にレコードを持たない組織のIDが返ってきます。 select ORG__KEY from ORGANISATIONS a where ORG_TYPE = 'PERM' and not ORG_NAME like '%事業部%' and 'M' = all (select SEXUALITY from EMPLOYEES b where a.ORG__KEY = b.ORG__KEY) 男性社員だけの組織が存在しなければしないで、レコードを返さないようにSQLを書かなければならないのですが、どのように改善すればよいでしょうか。組織タイプや組織名の条件を外して検索すると、社員なし組織だけでなく、実際に男性社員だけの組織も取得できるので、まったく違うことをやっているわけではないとおもいますが、何かが足りないのでしょうか。 まだまだ初心者です。説明がこんがらかっているかもしれませんが、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
- 7colors
- ベストアンサー率25% (29/114)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
お礼
明快なご回答ありがとうございます。