根据匹配数据插入数据

时间:2016-11-01 01:50:53

标签: mysql excel excel-vba vba

我有两个表(我从Excel 2010导入到mySQL数据库中),其中包含以下列:

表#1 PlayerDetails

Season | RoundNo | Surname | FirstName | Team

表#2 MatchDetails

GameID | TeamID | Season | RoundNo | Team

三个常见字段为SeasonRoundNoTeam

我需要做的是在名为GameIDTeamID PlayerDetails 中添加两个新列。我在 PlayerDetails 中有超过260,000行,我需要通过传递来自 MatchDetails的GameIDTeamID值来自动填充这两个新列的方法进入 PlayerDetails 中的相应字段,而不是手动输入数据。

我希望 PlayerDetails 包含以下列:

|GameID | TeamID | Season | RoundNo | Surname | FirstName | Team

我不知道是否最好在XL,XL VBA中执行此操作或在MySQL中运行插入查询。我也不知道从哪里开始。

我在SQL中尝试了这个但查询不起作用 - 我的sql技能并不是最好的。

  

插入PlayerDetails(GameID)       选择GameID       来自MatchDetails       其中MatchDetails.Season = PlayerDetails.Season AND MatchDetails.RoundNo = PlayerDetails.RoundNo AND MatchDetails.Team = PlayerDetails.Team

有人可以建议解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果从Excel写入MySQL表,那么我假设你会发现在Excel中首先填充字段然后导出是可以接受的。如果您首先使用VLOOKUPSeasonRoundNo值在 MatchDetails 表上创建复合键,则可以使用简单的Team公式。然后公式为:

=VLOOKUP(C6&"-"&D6&"-"&G6,$A$10:$F$15,2,0)

其中:

  • C6&"-"&D6&"-"&G6 PlayerDetails 中引用 MatchDetails
  • 中的复合键的关键
  • $A$10:$F$15 MatchDetails
  • 中的数据

图片可能会有所帮助:

enter image description here