получить тот же столбец с несколькими критериями в SQL - PullRequest
0 голосов
/ 30 июня 2018

У меня есть таблица a, в которой хранятся созданные creat_by и updated_by, в то время как они оба хранят только user_id, а у меня есть таблица b, в которой хранятся user_id и user_name. Я не могу получить один и тот же столбец с двумя разными критериями. У меня есть два sql, но как объединить их оба

SELECT b.user_name FROM a.created_by WHERE b.created_by = a.user_id
SELECT b.user_name FROM a.updated_by WHERE b.updated_by = a.user_id

Ответы [ 3 ]

0 голосов
/ 30 июня 2018

Вы можете присоединиться к столам:

select 
   cb.user_name as createdBy,
   ub.user_name as updatedBy
from 
  a
 left join b cb on a.created_by = cb.user_id
 left join b ub on a.updated_by = ub.user_id

MySQL скрипка

вы можете использовать inner join вместо left join ... не уверены в ваших требованиях.

0 голосов
/ 30 июня 2018

Я не совсем понял ваш вопрос, но я думаю, что вы хотите смешать два запроса в один:

SELECT b.user_name 
FROM a 
     join b on (a.user_id=b.created_by or  a.user_id=b.updated_by)
0 голосов
/ 30 июня 2018

Я не совсем уверен в структуре вашей таблицы, но мне кажется, вы хотите сделать что-то вроде

SELECT u.user_name createdBy, v.user_name changedBy
FROM tablea t 
INNER JOIN tableb u ON u.user_id=t.created_by
INNER JOIN tableb v ON v.user_id=t.changed_by
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...