小编use*_*881的帖子

复杂的SQL语句:选择匹配多个表

我有桌子:

  • Candidates
  • CandidateLanguages
  • CandidateSkills

每位候选人可能拥有1种以上的语言和1种以上的技能

所以对于Candidate"FRED",他的记录CandidateLanguages可能是

FRED - ENGLISH
FRED - FRENCH
Run Code Online (Sandbox Code Playgroud)

他的记录CandidateSkills可能是

FRED - RUNNING
FRED - JUMPING
Run Code Online (Sandbox Code Playgroud)

而对于Candidate"JIM"他的记录CandidateLanguages可能是

JIM - ENGLISH
Run Code Online (Sandbox Code Playgroud)

他的记录CandidateSkills可能是

JIM - RUNNING
Run Code Online (Sandbox Code Playgroud)

我的查询需要选择符合多种技能和语言的候选人.

例如,用英语:

选择所有所选语言的所有候选人,并拥有所有选定的技能......

或换一种方式....

SELECT ALL candidates WHERE 
(language = 'FRENCH' AND language is 'ENGLISH') AND 
(skill = 'RUNNING' AND skill = 'JUMPING') 
Run Code Online (Sandbox Code Playgroud)

在上面两个候选人中,这应该只返回"FRED"

我知道问题是尝试从语言和技能表中选择多个记录,我认为可能需要连接,但现在我迷路了......

sql

6
推荐指数
1
解决办法
198
查看次数

标签 统计

sql ×1