MySQL - конкретные столбцы при объединении? - PullRequest
12 голосов
/ 26 июля 2011

Как сделать объединение (внутреннее, левое внешнее, правое внешнее и т. Д.), Как я могу указать, какие столбцы таблицы нужно объединить в исходную таблицу?

Рассмотрим следующий пример:

SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID

Это выберет FirstName от пользователя, но выберет все из Provider.Как я могу указать, какие части поставщика должны быть включены в набор результатов?

Ответы [ 4 ]

11 голосов
/ 26 июля 2011

Как это:

SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
6 голосов
/ 26 июля 2011
  SELECT User.FirstName, Provider.ID, Provider.YourExtraColumnname, Provider.YourExtraColumnname2 FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
4 голосов
/ 26 июля 2011
         SELECT `User`.FirstName, Provider.* 
           FROM `User`
LEFT OUTER JOIN Provider 
             ON `User`.ProviderID = Provider.ID

1. Вы используете имя таблицы перед столбцом, или, если вы используете псевдоним таблицы, вы можете использовать псевдоним.

например. LEFT OUTER JOIN Provider p и затем вы можете получить доступ к идентификатору провайдера в предложении select следующим образом:

 SELECT `User`.FirstName, p.ID

2. Я добавил кавычки вокруг имени таблицы User, потому что это зарезервированное слово для MySQL

2 голосов
/ 26 июля 2011

Вы можете указать конкретные элементы, например:

SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...