【问题标题】:SQLite column information transfer with multiple tablesSQLite 多表列信息传输
【发布时间】:2019-06-07 20:01:50
【问题描述】:

我想将 CSV 文件中的一列数据传输到 SQLite 数据库表(匹配项)中的一列中。

CSV 文件 (EPL13-14Data) 详细介绍了 2013-14 赛季 EPL 赛季每场比赛的结果。有一个“主队”列,列出了本赛季每场比赛的主队名称。 ---> EPL13-14Data.Hometeam

我在数据库中创建了一个表(团队),为每个团队名称分配了一个唯一的 TeamID(整数)。这个“TeamID”列是主键 --> Teams.TeamID

我创建了一个表格(比赛),提供本赛季每场比赛的精简信息。我在 Matches 表中创建了一个“HomeTeamID”列。 ----> Matches.HomeTeamID

我想将 EPL13-14Data CSV 文件中 HomeTeam 列的信息传输到数据库中的 Matches 表中,*但我想将与团队名称相对应的唯一 TeamID 输入到 Matches 表中,而不是团队本身的名称。在 Matches 表中,HomeTeamID 列是对应于 Teams.TeamID 列的外键。

这是我希望执行的转换路径

EPL13-14Data.Hometeam --> Teams.Name --> Teams.TeamID --> Matches.HomeTeamID

SQLite3.0

SELECT Teams.TeamID 
INTO Matches.HomeTeamID
FROM Teams
WHERE EPL_DATA.Hometeam = Teams.Name;

当我尝试运行此代码时收到一条错误消息,不确定要使用哪个 SELECT ... INTO 代码或要使用哪个 INSERT ... SELECT 代码

【问题讨论】:

    标签: sql sqlite csv


    【解决方案1】:

    我相信您既不想,而是想更新 HomeTeamID 列以进行适当的匹配。

    所以你想要一些类似的东西

    UPDATE Matches 
      SET Matches.HomeTeamId = (SELECT Teams.TeamID FROM Teams WHERE EPL.DATA.Hometeam = Teams.Name) 
    WHERE your_where_clause_to_identify_the respective_match_to_be_updated
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2018-10-03
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多