我试图在他的“functienaam”中获得所有“afdelingen”2和“afdelingen.naam”背后的“directeur”的名字。但我只得到“afdelingen.naam”,其名称为“Directeur”。
我如何在此结果中获得另一个“afdelingen.naam”。
这就是我目前所拥有的:
SELECT afdelingen.naam, personeel.voornamen, personeel.tussenvoegsels, personeel.achternaam, rollen.functienaam
FROM `afdelingen` INNER JOIN
personeel_afdeling
ON afdelingen.id = personeel_afdeling.afdeling_id INNER JOIN
personeel
ON personeel_afdeling.personeel_id = personeel.id INNER JOIN
rollen
ON personeel_afdeling.rol_id = rollen.id
WHERE rollen.id LIKE 1
目前的结果:Disign& Ontwikkeling | Wilhelmus Frederikus Aloisius |范|热纳尔她| DIRECTEUR
期望的结果:
答案 0 :(得分:1)
@rickdenhaan提到的左连接只是其中的一部分;您还要过滤rollen.id = 1
。既然“Verkoop& Administratief”(我认为这是正确的单数?)没有Directeur,那么你将使用WHERE
子句从结果集中删除该行。
不是使用WHERE
进行过滤,而是将过滤器添加到连接条件中,这样您才能加入Directeur角色。如果没有Directeur,请使用LEFT JOIN
确保您不加入任何内容,而不是在没有相应角色的情况下从数据集中删除行。