MYSQL SELECT WHERE Стаття: як включити стовпець з іншої таблиці?

У MYSQL, скажімо, я маю наступні дві таблиці.

"профіль":

fullname | gender | country_code
-----------------------------------
Alex     | M      | us
Benny    | M      | fr
Cindy    | F      | uk

"країна":

country_code | country_name
-----------------------------
jp           | Japan
us           | United States of America
fr           | France
sg           | Singapore
uk           | United Kingdom

Під час запиту з точки зору таблиці з "профілю" , наприклад:

WHERE fullname = 'Cindy'

Тоді в результаті як я можу включити стовпець з іншого таблиці (щоб отримати такі результати нижче):

fullname | gender | country_code | country_name
------------------------------------------------
Cindy    | F      | uk           | United Kingdom
1

8 Відповіді

Ви можете використовувати

select a.fullname, a.gender, b.country_code, b.country_name 
FROM profile a 
LEFT JOIN country b ON a.country_code = b.country_code 
WHERE a.fullname='Cindy'
5
додано

Вам потрібно об'єднати таблиці. Наприклад:

select a.fullname, a.gender, b.country_code, b.country_name 
  from profile a JOIN country b 
    on a.country_code = b.country_code 
 where a.fullname='Cindy'
3
додано

Спробуйте наступне:

Select * from profile natural join country where fullname='Cindy'
3
додано
Я вважаю, що інші відповіді теж приємні. Але цей досить гарний і настільки простий. Дякую.
додано Автор 夏期劇場, джерело

Ви повинні використовувати ПРИЄДНУТИ :

SELECT profile.*, country.country_name
FROM Customers
INNER JOIN Orders
ON profile.country_code=country.country_code

For more info check this : http://www.w3schools.com/sql/sql_join_inner.asp

2
додано

Спробуйте це..

SELECT t1.fullname, t1.gender t1.country_code,t2.country_name
FROM profile AS t1 INNER JOIN country AS t2 ON t1.country_code = t2.country_code where t1.fullname='cindy';
2
додано
select p.fullname,p.gender,p.country_code,c.country_name from profile p 
INNER JOIN country c on p.country_code=c.country_code where p.fullname='Cindy'
2
додано
 select fullname, gender, profile.country_code as country_code, country_name from profile join country on profile. country_code = profile.country_code where fullname = "Cindy";
2
додано

Вам потрібно скористатися об'єднанням між таблицею профілю та країною, як показано нижче

SELECT
profile.fullname,
profile.gender, 
country .country_code, 
country .country_name 
FROM profile as profile JOIN country as country 
       ON (profile.country_code = country.country_code)
  WHERE profile.fullname = 'Cindy'
1
додано