Как я могу получить идентификатор пользователя, который имеет два значения, используя MYSQL - PullRequest
0 голосов
/ 24 декабря 2018

Например, у меня есть 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
---------------------------------------

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Вы можете попробовать ниже -

 select user_id,count(skill_id) from user_table
    where skill_id  in (1041,47)
    group by user_id
    having count(skill_id)=2
0 голосов
/ 24 декабря 2018

вы можете использовать таблицу умений два раза в соединении

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  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...