Mysql 我想选择一个特定的数据,但查询结果给出了sqlite中的所有列
我有个小问题。我是数据库的初学者 我想使用表1中的Country_Name列从表2中选择Country_代码Mysql 我想选择一个特定的数据,但查询结果给出了sqlite中的所有列,mysql,sql,sqlite,Mysql,Sql,Sqlite,我有个小问题。我是数据库的初学者 我想使用表1中的Country_Name列从表2中选择Country_代码 SELECT Country_Code FROM COUNTRIES, COUNTRY_SMALL_INFO WHERE COUNTRIES.Country_Name = 'Belgium' 我试图只得到比利时的国家代码,但我得到了所有国家代码列 这就是结果 您应该以某种方式将国家/地区与国家/地区信息绑定在一起。也许他们有id列?如果是这样的话,您的查询可能是 SELECT Coun
SELECT Country_Code FROM COUNTRIES, COUNTRY_SMALL_INFO WHERE COUNTRIES.Country_Name = 'Belgium'
我试图只得到比利时的国家代码,但我得到了所有国家代码列
这就是结果
您应该以某种方式将国家/地区与国家/地区信息绑定在一起。也许他们有id列?如果是这样的话,您的查询可能是
SELECT Country_Code
FROM COUNTRIES, COUNTRY_SMALL_INFO
WHERE COUNTRIES.ID = COUNTRY_SMALL_INFO.ID AND COUNTRIES.Country_Name = 'Belgium'
您忘记了将两个表连接起来,所以它是笛卡尔乘积。还可以使用
DISTINCT
来设置唯一的国家/地区代码集。试试这样的
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'
请把你们的桌子贴出来。谢谢你们的帮助,拉法。