代码之家  ›  专栏  ›  技术社区  ›  zvr

如何将sql数据表转换为指针表?

  •  1
  • zvr  · 技术社区  · 17 年前

    假设我有一个元组(id,lastname,firstname,occupation)的sql表,其中所有的值都是字符串(很明显 身份证件 是一把钥匙。

    我想把它转换成一个有元组(id,lastid,firstid,occurpid)的表,在这里我只保留指向其他包含实际值的表的指针。我很抱歉,如果域名和职业的例子不是最适合这个行动。

    显然,要创建保存数据的其他表,我需要获取所有唯一的姓氏,并使用自动生成的键将它们插入到新表中。名字和职业也一样。

    这样做后,是否有一个可以生成包含指针(ER,外键)的新表的单一变换?

    如果重要的话,实现使用sqlite。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Alex Martelli    17 年前

    假设您的姓/名和职业表是LNT、FNT和OCC,每个表只有两列、一个ID字段和一个值:

    REPLACE INTO TheTable (last, first, occup)
    SELECT Lnt.id, Fnt.id, Occ.id
    FROM TheTable
    JOIN Lnt ON (last=Lnt.value)
    JOIN Fnt ON (first=Fnt.value)
    JOIN Occ ON (occup=Occ.value)