SQL加入正确吗?拉得超过我想要的

时间:2016-12-21 18:39:27

标签: sql join

我有一个存储申请工作的人的系统。他们在仓库里。当他们申请工作时,我在jobTracking表中为他们创建了一条记录。这很简单。问题是当有人申请多于一个职位时,他们会在jobTracking中清楚地获得一个以上的记录。我的问题是能够根据where子句进行查询以在内部将人员添加到作业。假设我想将人员添加到jobID = 56,其中他们的学位=“MD”并且他们尚未应用。出现在查询后的人员列表将包含已申请56的MD,如果他们有另一个作业的另一个记录。如果一个匹配,我可以告诉查询在所有记录中忽略该申请人ID?表格如下。查询也在下面,提供不正确的记录。 applicantID = 10将出现在我的查询中,因为他还有工作记录46.

SELECT applicantWarehouse.first
  , applicantWarehouse.last
  , applicantWarehouse.title
  , applicantWarehouse.ID
  , jobTracking.applicantID
  , jobTracking.jobID 
FROM jobTracking INNER JOIN applicantWarehouse ON jobTracking.applicantID = applicantWarehouse.ID 
WHERE Degree="MD" 
  AND jobTracking.jobID !=56

applicantWarehouse table

ID | First  | Last | Degree

工作表

jobID | jobTitle

求职表

ID | applicantID  | jobID
1     10             56
2     10             46

1 个答案:

答案 0 :(得分:1)

在您的示例中,您希望提取具有学位md且尚未应用于jobID为56的所有人。如果这是您所需要的,则可以使用any执行此操作。

let customer:any [];