【发布时间】:2019-05-03 17:27:15
【问题描述】:
我有一个足球世界杯数据库。这是我现在正在处理的两个重要表:
CREATE TABLE Countries(
Cid SERIAL PRIMARY KEY,
Name VARCHAR(256) NOT NULL UNIQUE
);
CREATE TABLE Clubs(
Ncid SERIAL PRIMARY KEY,
Name VARCHAR(256) NOT NULL UNIQUE,
Cid INT REFERENCES Countries NOT NULL
);
所以我在 clubs 表中添加了一个列“country”,它代表俱乐部所在的国家/地区。现在的问题是我需要使用与国家/地区匹配的 cid 填充 clubs 表的 cid 列在国家/地区表中。
这个我试过了,还是不行:
ALTER TABLE clubs ADD COLUMN country VARCHAR(255)
INSERT INTO clubs(name, country)
SELECT DISTINCT club_name, club_country
FROM tempsquads; //this loads the data from a temporary tabe into my table
INSERT INTO clubs(cid)
SELECT cid
FROM countries
WHERE clubs.country = countries.name;
有人知道我如何执行这样的查询吗?
【问题讨论】:
-
我错过了一些东西。你怎么知道俱乐部在哪个国家?
-
我从一个包含所有世界杯数据的 csv 文件中获取该信息。
标签: sql postgresql