получить строки из другой таблицы mysql в зависимости от отдельного значения из другой таблицы mysql
У меня есть две таблицы mysql.
Информация о пользователе
а также
журнал ссылок
Сейчас большинство столбцов не представляют интереса. Вот что я пытаюсь сделать:
- Получите уникальное имя 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"