私はSQLにかなり慣れていません...次の列を持つテーブルがあります:
Employee,Title,Age,Children
基本的な SELECT の出力は次のようになります。
Steve |Foreman|40|Billy
Steve |Foreman|40|Amy
Steve |Foreman|40|Michelle
Daniel|Smith |35|Eric
Daniel|Smith |35|Jake
Erin |Otis |29|Eileen
願わくば、各レコードに複数の子を含めることができることを示しました。私ができるようにしたいのは、従業員に名前が「E」で始まる子供がいない場合にのみ値を返すことです。現在、私はまだ従業員を返していますが、「E」で始まる子を持たないレコードのみをリストしています。「E」で始まる子を省略するだけでなく、「E」で始まる子がいる場合は、従業員を完全に省略したいと思います。
これは可能ですか?
ありがとう。
編集 :
したがって、実際には、EMPLOYEES 用と CHILDREN 用の 2 つのテーブルがあります。したがって、現在のクエリは次のようになります。
SELECT E.EMPLOYEE_NAME, E.EMPLOYEE_TITLE, E.EMPLOYEE_AGE, C.CHILDREN_NAME
FROM EMPLOYEE E INNER JOIN CHILDREN C ON E.EMPLOYEE_ID = C.EMPLOYEE_ID
WHERE C.CHILDREN_NAME NOT LIKE 'E%'
これにより、E で始まる名前を持つすべての子を除いたすべての行が返されます。目的の効果は、Trinimon が提供したソリューション 2 です。子供の名前が E で始まる場合、従業員を返さないでください。
それがもう少し説明され、誰かが望ましい結果を生み出す方法を説明できることを願っています。前述のように、Trinimon のソリューションは適切な結果を返しますが、テーブルが 2 つあるため、ソリューションをスキーマに合わせて調整する方法がわかりません。
ありがとう。