我有两个MySQL表,一个包含国家/地区代码和国家/地区名称,另一个包含疾病和国家/地区代码。我想从第二个表格中选择所有艾滋病报告死亡国家,但是从第一个表格中打印国家名称,而不是国家代码。
到目前为止,我有:
SELECT DISTINCT(country) AS countrydeathbyaids
FROM deaths
WHERE cause = 'AIDS';
给出正确的国家/地区代码,但我想以某种方式在国家/地区表中绑定以给出country_name而不是国家/地区代码。关于我如何做到这一点的任何建议?
答案 0 :(得分:0)
您需要执行inner join
,例如:
SELECT DISTINCT(c.country_name)
FROM countries c JOIN deaths d ON c.code = d.country
WHERE d.cause = 'AIDS';
假设code
是coutry code的列名。
答案 1 :(得分:0)
加入国家/地区表:
select c.country_name
from countries c
join (
select distinct country_code
from deaths
where cause = 'AIDS'
) d on c.country_code = d.country_code;
答案 2 :(得分:0)
除非我遗漏了某些东西,否则应该可以进行简单的加入。
假设countries表名为countries,并且有一个名称字段和一个代码字段:
SELECT DISTINCT(countries.name) AS countrydeathbyaids
FROM deaths
INNER JOIN countries ON countries.code = deaths.country
WHERE deaths.cause = 'AIDS';