我如何使用MYSQL获取具有两个值的用户ID

时间:2018-12-24 10:56:09

标签: mysql mysqli

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

我需要从表用户中获取唯一的user_id并同时拥有skill_id 1041 47 job_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
---------------------------------------

用户表

list1 = ['cat', 'dog', 'donkey']
list2 = ['http://cat1.com', 'http://cat2.com', 'http://dog1.com', 'http://dog2.com']
output = [l2 for l2 in list2 for l1 in list1 if l1 in l2]
print(output)

2 个答案:

答案 0 :(得分:3)

您可以在下面尝试-

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

答案 1 :(得分:0)

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

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