我对 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。所以我当前的查询如下所示:
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 的解决方案返回正确的结果,但由于有两个表,我不知道如何将解决方案调整到我的模式。
谢谢。