【发布时间】:2021-03-20 19:55:49
【问题描述】:
数据库查询:我想对培训的所有参与者进行 ONE 数据库查询,显示所有参与者的姓名以及他们是否已经拥有这项一项特定技能。为了构建结果表(参见示例),我想循环查询结果,而不必为每个员工进行子查询。
|participant name|has_this_one_specific_skill|
|John Doe | yes |
|Alex Hardacre | yes |
|Abi Underwood | no |
|Kevin Wallace | yes |
|Connor Murray | no |
这是我的数据库结构。这样的结构会是什么样子?这是 left_outer_join 还是我要加入 union?
【问题讨论】:
-
它将通过employees_skills 表与技能表进行外部连接。但是先告诉我一件事,当你说‘他们是否已经有某种技能’时,你的意思是你只想检查特定的单一技能吗? i-e 招募所有员工,无论他们是否具有 MYSQL 技能(鉴于技能表中有 MYSQL 技能)
-
@QaisarNadeem:正确。我只想检查特定技能。员工可以有很多技能。我想展示的是,员工是否已经具备在培训中“训练”过的技能
-
你的Participant class看起来不对,我想你的意思是:它是员工和培训之间的桥梁,对吧?如果是,那么它应该有
belongs_to :employee&belongs_to :training?? -
@QaisarNadeem:是的,当然。对不起,复制和过去的错误。会更新。
-
好的,我会为你写一个查询。只需确认您的数据库是什么,是 MYSQL 还是 POSTGRESQL?
标签: sql ruby-on-rails ruby activerecord