获取具有一列的一个表的所有列,该列必须从与其数据对应的另一个表派生数据

时间:2013-09-24 14:16:04

标签: mysql sql join

考虑一个表

PRODUCTSTABLE

product_id | product_name | product_country
1          | ABC          | 1    
2          | DEF          | 3    
3          | ASD          | 2    
4          | JGH          | 3    
5          | WER          | 2

COUNTRY TABLE

country_id | country_name
1          | Japan
2          | China
3          | Uganda
4          | France
5          | United States

我想得到像这个查询会生成

的结果
SELECT * FROM PRODUCTSTABLE;

唯一的区别在于第三列'product_country',而不是从第二个表引用的相应国家名称必须来的。

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要使用INNER JOIN加入两个表。

SELECT  a.product_id,
        a.product_name,
        b.country_name
FROM    products a
        INNER JOIN country b
            ON a.product_country = b.country_ID

要进一步了解联接,请访问以下链接:

答案 1 :(得分:1)

怎么样:

SELECT 
  A.Product_ID, A.Product_Name, B.Country_Name 
FROM PRODUCTSTABLE A 
LEFT JOIN Country_Table B on A.Product_Country = B.Country_ID

试试这篇文章:http://en.wikipedia.org/wiki/Join_(SQL)