2012-06-29 48 views
0

首先,我不知道標題是否相關(如果不相關,請原諒我)。如何使用ID從關聯表中獲取值?

我有2個表userprofilecountry

userprofile table:- 
----------------------------------------- 
userid | email |............|**countryid** 
----------------------------------------- 

country table:- 
----------------------------------------- 
**countryid** | countryname 
----------------------------------------- 

我想選擇從userpfofile表中的數據, 即$query="select * from userprofile ......但問題是,這個數據返回countryid,但其實我是想回到COUNTRYNAME。

我是MySQL的新手,所以請建議實現此目的的最佳方法。

回答

3

您需要join這兩個表結合在一起,得到你想要的數據,像這樣:

SELECT * FROM userprofile u 
    LEFT JOIN country c 
    ON c.countryid = u.countryid 

這將產生一系列相似的結果:

--------------------------------------------------------- 
| userid | email | .......... | countryid | countryname | 
--------------------------------------------------------- 
+1

提示:如果名稱在這兩個表中的列是相同的,你可以使用'USING'就像這樣:'SELECT * FROM userprofile LEFT JOIN country USING countryid' – Savageman

+0

正常連接有什麼問題(對於noob)SELECT * FROM userprofile,country WHERE userprofile。 countryid = country.countryid – Waygood

+2

@Waygood:[SQL連接的可視化解釋](http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html)。 – eggyal

相關問題