Передача информации столбца SQLite с несколькими таблицами - PullRequest
0 голосов
/ 07 июня 2019

Я хочу перенести столбец данных из файла CSV в столбец в таблице базы данных SQLite (соответствует).

CSV-файл (EPL13-14Data) детализирует результаты каждого матча сезона 2013-14 EPL.Существует колонка "Hometeam", в которой указано название Hometeam для каждого матча сезона.---> EPL13-14Data.Hometeam

Я создал таблицу (Команды) в базе данных, которая присваивает уникальный TeamID (целое число) каждому названию команды.Этот столбец «TeamID» является первичным ключом -> Teams.TeamID

Я создал таблицу (Matches), которая предоставляет сокращенную информацию для каждого матча сезона.Я создал столбец «HomeTeamID» в таблице соответствий.----> Matches.HomeTeamID

Я хочу перенести информацию столбца HomeTeam из CSV-файла EPL13-14Data в таблицу Matches в базе данных, * но я хочу ввести уникальный TeamID, соответствующийназвание команды в таблице матчей, а не название самой команды.В таблице 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использовать

1 Ответ

0 голосов
/ 08 июня 2019

Я полагаю, что вы не хотите ни того, ни другого, но вместо этого хотите ОБНОВИТЬ столбец 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...