ВЫБРАТЬ данные с первичными ключами из другой таблицы?
У меня есть таблица "пользователи", таблица "предложения" и соединение "*users_offers*" с идентификаторами userID и offerID.
Как выбрать каждое предложение из предложений, принадлежащих конкретному пользователю?
Я мог бы найти решение (ниже), которое фактически запускает выбор данных из таблицы соединений, а затем просто объединяет столбцы предложений, но в результате также содержатся столбцы соединений.
SELECT *
FROM users_offers INNER JOIN offers ON users_offers.offerID = offers.ID
WHERE userID = 1
Есть ли какое-либо решение, которое начинает выбор с предложений?
2 ответа
Решение
Использовать псевдоним SQL:
SELECT o.*
FROM users_offers AS uo
INNER JOIN offers AS o ON uo.offerID = o.ID
WHERE uo.userID = 1
Объяснение:
FROM users_offers AS uo
устанавливает новый псевдоним uo, указывающий на таблицу [users_offers]. То же самое происходит для offers AS o
, Эти псевдонимы могут использоваться в других частях вашего оператора SQL.
SELECT offers_alias.*
FROM users_offers
INNER JOIN offers AS offers_alias ON users_offers.offerID = offers_alias.ID
WHERE users_offers.userID = 1