Mysql 如何获取具有两个值的用户id

Mysql 如何获取具有两个值的用户id,mysql,Mysql,例如,我有两个表技能表和用户表 我需要从表用户中提取同时拥有技能\u id1041和47的唯一用户id 如何在内部联接where作业\u id=39时提取 技能表 --------------------------------------- | id | job_id | skill_id | profile --------------------------------------- | 1 | 39 | 1041 | intermediate --------------

例如,我有两个表技能表用户表

我需要从表用户中提取同时拥有
技能\u id
104147的唯一
用户id

如何在内部联接where
作业\u id=39
时提取

技能表

---------------------------------------
| id | job_id | skill_id | profile
---------------------------------------
| 1 |   39   |  1041    | intermediate
---------------------------------------
| 2 |   39   |  47      | intermediate
---------------------------------------
用户表

---------------------------------------
| id | user_id | skill_id | profile 
---------------------------------------
| 1 |   212   |  1041    | intermediate
---------------------------------------
| 2 |   212   |  1218    | intermediate
---------------------------------------
| 3 |   213   |  1041    | intermediate
---------------------------------------
| 4 |   213   |  47      | intermediate
---------------------------------------

您可以在join中使用技能表两次

select s1.user_id 
from skill s1  
inner join skill s2 on s1.user_id = s2.user_id 
    and s1.skill_id =1014 
    and s2.skill_id = 47  

您可以在join中使用技能表两次

select s1.user_id 
from skill s1  
inner join skill s2 on s1.user_id = s2.user_id 
    and s1.skill_id =1014 
    and s2.skill_id = 47  
你可以在下面试试-

 select user_id,count(skill_id) from user_table
    where skill_id  in (1041,47)
    group by user_id
    having count(skill_id)=2
你可以在下面试试-

 select user_id,count(skill_id) from user_table
    where skill_id  in (1041,47)
    group by user_id
    having count(skill_id)=2

使用
和将不起作用,并且在没有行时将给出空结果。很简单:)我想这就是从
user
中选择*skill\u id=1041和skill\u id=47。这是一个映射表,我需要得到一个用户,这个用户既有使用
的技能,又有使用
的技能,如果没有行,则会给出空结果。很简单:)我想这就是从
user
中选择*skill\u id=1041和skill\u id=47。这是一个映射表,我需要得到一个既有可能重复的技能,也不会单独在用户表中工作的用户希望这就是你的意思从
jh_job_user_skill
中选择*,其中skill_id=1041,skill_id=47,甚至不会单独在用户表中工作希望这是你的意思从
jh_job_user_skill
其中skill_id=1041和skill_id=47