我想选择一个特定的数据,但查询结果给出了sqlite中的所有列

时间:2014-03-08 19:26:33

标签: mysql sql sqlite

我有点问题。我是数据库初学者。

我想使用表1中的Country_Name列从table2中选择Country_Code。

SELECT Country_Code FROM COUNTRIES, COUNTRY_SMALL_INFO WHERE COUNTRIES.Country_Name = 'Belgium'

我试图只获得比利时的国家代码,但我得到了所有Country_Code列。

结果就是这样。

http://i.stack.imgur.com/6sFRu.png

2 个答案:

答案 0 :(得分:0)

你应该以某种方式将COUNTRIES与COUNTRY_SMALL_INFO绑定。也许他们有id列?如果是这样,您的查询可能是

SELECT Country_Code 
FROM COUNTRIES, COUNTRY_SMALL_INFO 
WHERE COUNTRIES.ID = COUNTRY_SMALL_INFO.ID AND COUNTRIES.Country_Name = 'Belgium'

答案 1 :(得分:0)

你忘了JOIN这两个表,所以它正在做笛卡尔积。同时使用DISTINCT设置唯一的country_code。试试这样的事情

SELECT DISTINCT i.Country_Code 
  FROM COUNTRIES c 
    INNER JOIN COUNTRY_SMALL_INFO i ON c.id = i.country_id
    WHERE c.Country_Name = 'Belgium'