例如,我有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)
答案 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