|农业|| 2 | 农业 </跨度> || 3 |设计|| 4 |平面设计|| 5 |互动设计|| 6 |畜牧业|| …… | …… || 887——————– ——————–平面设计 农业 </跨度> 设计畜牧业
我想做的是创建一个
你有没有考虑过这样的事情? (假设至少对词汇表有一个独特的约束。名称。)
create table vocabulary_relations ( vocabulary_category varchar(35) not null, -- references vocabulary (name), related_vocabulary varchar(35) not null, -- references vocabulary (name), primary key (vocabulary_category, related_vocabulary) ); insert into vocabulary_relations values ('Interactive Design','Graphic Design'), ('Interactive Design','Design'), ('Farming','Agriculture'), ('Farming','Animal Husbandry');
完成后,选择很简单。
select * from vocabulary_relations order by vocabulary_category, related_vocabulary; vocabulary_category related_vocabulary -- Farming Agriculture Farming Animal Husbandry Interactive Design Design Interactive Design Graphic Design
没有加入。易于理解和排除故障。从CSV导入很简单。
INSERT INTO vocabulary_relations (vocabulary_id, related_id) SELECT v1.id, v2.id FROM RelatedItems ri INNER JOIN vocabulary v1 ON ri.col1 = v1.name INNER JOIN vocabulary v2 ON ri.col2 = v2.name