Подтвердить что ты не робот

Как присоединиться к одному столбцу?

SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1

Мне нужно присоединиться только к одному столбцу из таблицы 2, скажем first_name. Как я могу это сделать?

4b9b3361

Ответ 1

Предполагая, что вы имеете в виду "выберите один столбец из таблицы 2":

   SELECT table1.*, table2.first_name
     FROM table1
LEFT JOIN table2
...

Ответ 2

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

SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1 and table1.first_name = table2.first_name

Ответ 3

Принятый ответ - правильный ответ, но я столкнулся с странной ошибкой, когда таблицы находятся в двух разных базах данных:

Предполагая, что таблица1 находится в базе данных1, а таблица2 находится в базе данных2. Первоначально я пробовал это:

SELECT *, database2.table2.first_name FROM table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE table1.id = 1

Странно, что если я попробую этот запрос из PHP PDO, ошибок не было, но результат содержал все столбцы из базы данных2.table2 (ожидаемый только столбец first_name).

Но если я попробовал тот же запрос из phpmyadmin, получил ошибку sintax:

Таблица "database2.table1" не существует

Итак, для решения этого, все базы данных должны быть указаны неявно, как это:

SELECT database1.table1.*, database2.table2.first_name FROM database1.table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE database1.table1.id = 1