1
我试图用主表中的值创建一些表。专家在PHP中,但不在MySQL中。 主表中有此列:MySQL,选择内部选择独特返回多个值
Table Places
ISO
Country
Language
Region2 (is the estate)
Region4 (is ths city council)
ID (id for locality)
Locality
获得国家也并不困难:
CREATE TABLE countries (id integer(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
iso varchar(2) NOT NULL, language varchar(2) NOT NULL,
name varchar(50) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO countries (iso , language, name)
SELECT DISTINCT ISO AS iso, Language as language, Country AS name FROM Places WHERE 1;
现在我要创建国家,议会和城市,我一直在与各国试图两天像这样(我试过一些不同的代码):
CREATE TABLE states (id integer(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
country_id integer(11) UNSIGNED NOT NULL, country_iso varchar(2) NOT NULL,
name varchar(80) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO states (country_id, country_iso, name)
SELECT DISTINCT
(SELECT countries.id AS country_id from countries WHERE countries.iso = Places.ISO),
ISO as country_iso ,
Region2 AS name FROM Places WHERE 1;
但是对于country_id这个选择返回所有的国家ID。 我只需要在country.iso国家代码中找到国家/地区id。
在这个表格之后,我必须创建委员会,从Places中获取价值,再次选择Disposect,并且再次尝试从各个国家获得州ID,也许还需要de国家ID。
请问,任何人都可以让我以这种选择嵌套的方式? 谢谢。