我对访问世界相当陌生,我的所有知识都来自解剖模板和多个Google搜索,所以请耐心等待! 我完成了我的搜索并找到了很多例子,但我不确定他们是否做了我需要的,一个类似于我所要求的但是我无法将他的结果翻译成我的。
首先快速回顾一下我想要完成的事情;我试图创建一个查询,列出每个位置以及该位置附带的技能。大多数职位具有相同的所需技能,但每个职位也具有其他人所做的独特技能。例如; QB具有速度,敏捷性,加速度,力量,意识,投掷准确性和与之相关的投掷力。 RB具有速度,敏捷性,加速度,力量,意识,球携视力以及与之相关的难以捉摸。
我有三张桌子;职位(列出所有职位),技能(列出所有技能)和PositionSkills(多对多表,列出每个职位以及与之相关的技能)。表格是这样的:
PositionID(PK)|AutoNumber
Position |Short Text
SkillID(PK) |AutoNumber
SkillName |Short Text
PositionID(PK)|Number
SkillID(PK) |Number
我试图创建一个查询,返回位置及其下的每项技能。问题是,我的查询总是返回列出每个位置多次,并且旁边有不同的技能,当我希望它列出一次位置时,每个技能都在它之后。
Position(QB) | Skill | Skill | Skill | Skill
Position(RB) | Skill | Skill | Skill | Skill
Position(WR) | Skill | Skill | Skill | Skill
最后,我想创建一个表单,用户可以输入有关玩家的一般详细信息,并从组合框中选择位置。表单的底部将显示与组合框中选择的位置相关的技能。 非常感谢任何帮助,如果需要更多信息,请指出它,我会提供它 谢谢!
答案 0 :(得分:0)
除非我遗漏了什么,否则你应该可以做这样的事情 - 生成一个你想要的清单。这将是针对MySQL的......
SELECT
Position,
GROUP_CONCAT(SkillName) as Skills
FROM Positions
LEFT JOIN PositionSkills USING(PositionID)
LEFT JOIN Skills USING(SkillID)
GROUP BY PositionID