получить строки из другой таблицы mysql в зависимости от отдельного значения из другой таблицы mysql

У меня есть две таблицы mysql.

Информация о пользователе

а также

журнал ссылок

Сейчас большинство столбцов не представляют интереса. Вот что я пытаюсь сделать:

  1. Получите уникальное имя created_by_user_name из журнала ссылок для данного идентификатора уровня. Я могу сделать это, выполнив следующий запрос, который возвращает 3 уникальных user_name.

ВЫБЕРИТЕ DISTINCT log.created_by_user_name FROM ReferenceScreenResultLoglog WHERE level="1"

но я хочу кое-как присоединиться к этому с таблицей UserInformation, поэтому я получаю строки из UserInformation. Как и в случае, мне нужны три строки из таблицы UserInformation, соответствующие этим 3 уникальным именам пользователей, которые я получил из запроса выше. Столбец user_name в таблице UserInformation связан со столбцом created_by_user_name в таблице referencelog.

1 ответ

Решение

предполагая, что две таблицы объединены usr.id = log.created_by,
вы можете использовать соединение таким образом

      SELECT DISTINCT usr.first_name, log.created_by_user_name 
FROM ReferenceScreenResultLog log 
INNER JOIN UserInformation usr on usr.id = log.created_by 
WHERE level="1"

или для всего содержимого строки usr

      SELECT DISTINCT usr.*, log.created_by_user_name 
FROM ReferenceScreenResultLog log 
INNER JOIN UserInformation usr on usr.id = log.created_by 
WHERE level="1"
Другие вопросы по тегам