多个动态查询sql的联合结果

时间:2016-12-21 04:02:08

标签: sql dynamic sql-server-2012 cursor

我有两张桌子tblJobs和tblJobseeker。 tblJobs

JobId  skill     location
  5  .net, php    Mexico
  8   java        Boston
  9   sql, c++  London, Mexico

tblJobseeker

ID   skill       location
 3   .net         Mexico
 7    sql         Boston
 10   java        Boston
 12   php         Mexico
 13   c++         London, Boston

现在,我想循环查看第一个表tblJobs并找到基于skilllocation的匹配求职者。对于tblJobs中的每条记录,我将需要与其他记录结果集结合。我试图使用游标和动态查询,但我如何在动态查询中设置列skilllocation的条件。两个表中的记录也可能有所不同

在上述情况下,结果应为

ID   skill       location
 3   .net         Mexico
 12   php         Mexico
 10   java        Boston
 13   c++        London, Boston

我编辑了这个问题。在这里,我使用charindex来匹配结果,内部连接是不可能的。可以有n个位置或技能,因此不可能有不同的列。

1 个答案:

答案 0 :(得分:0)

简单的内连接可以:

select s.* 
from tblJobseeker s 
inner join tblJobs j
on s.skill = j.skill
and s.location = j.location;