Mysql 从表A中选择所有记录并联接表B以获取A的属性
我不知道该怎么做 表'child':Mysql 从表A中选择所有记录并联接表B以获取A的属性,mysql,Mysql,我不知道该怎么做 表'child': idchild | name | idability -------------------------- 1 | Joe | 1 1 | Joe | 2 2 | Peter| 1 2 | Peter| 3 3 | Kate | 4 表“能力”: idability | ability ------------------- 1 | run
idchild | name | idability
--------------------------
1 | Joe | 1
1 | Joe | 2
2 | Peter| 1
2 | Peter| 3
3 | Kate | 4
表“能力”:
idability | ability
-------------------
1 | run
2 | read
3 | write
4 | swim
例如,乔可以“跑”和“读”,但不能“写”或“游泳”。
我需要一份关于乔能力的清单:
ability |
-----------------
run | +
read | +
write | -
swim | -
我使用“notexist”以不同的方式尝试了几个SQL查询,但从未得到正确的结果。我希望有人能告诉我该怎么做
提前谢谢你 试试这个:
select `child`.`idChild`,`child`.`name`, `child`.`idability`, `ability`.`idAbility`,`ability`.`ability` from `child` inner join `ability` on `child`.`idAbility` = `ability`.`idability` order by `child`.`name`, `ability`.`ability`
您可以删除不需要的列。这应该可以:
select ability.ability, if(child.idability,'+','-') from ability left join child on ability.idability =child.idability and child.name="joe";
这只列出了孩子拥有的能力,而不是所有的能力。我需要列出每个孩子的能力和标记。