Заменить значения в нескольких столбцах значениями из другой таблицы в SQLite? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть база данных по баскетболу НБА. В ней два разных стола, один содержит информацию об играх, в которые играли, а другой - информацию об игроке.

В таблице Game_Detail у меня есть команды, дата игры и оценки для каждой команды. У меня также есть 10 столбцов с 5 начинающими игроками из каждой команды.

Game_Detail Table

Date   HomeTeam   AwayTeam   H_Pts   A_Pts   H1   H2   H3   H4   H5   A1   A2   A3   A4   A5
1/1    ORL        BOS        100     99      1    22   32   55   692  12   33   55   333  90

В 10 столбцах с H1 по A5 у каждого ряда есть идентификатор игрока.

В таблице Player_Detail с игроком информация, также есть идентификатор игрока.

Player_Detail Table

player_id   name   height   weight

Для каждой строки от H1 до A5 в первой таблице, таблице Game_Detail, я хочу заменить player_id весом игрока (один из столбцы в таблице сведений об игроке).

Как лучше всего это сделать go? Я новый пользователь SQLite / SQL, поэтому не уверен в лучшей практике, так как это большой файл. Код, который я до сих пор пытался запустить, вообще не работает.

Кроме того, изменяется ли команда вообще, если я хочу использовать имя вместо веса (видя, что это другой тип, строка вместо целое число)

1 Ответ

0 голосов
/ 01 мая 2020

Вы можете использовать (много) объединений.

SELECT gd01.date,
       gd01.hometeam,
       gd01.awayteam,
       gd01.h_pts,
       gd01.a_pts,
       pd01.weight,
       pd02.weight,
       ...
       pd09.weight
       pd10.weight
       FROM game_detail gd01
            LEFT JOIN player_detail pd01
                      ON gd01.h1 = pd01.player_id
            LEFT JOIN player_detail pd02
                      ON gd01.h2 = pd02.player_id
            ...
            LEFT JOIN player_detail pd09
                      ON gd01.a4 = pd09.player_id
            LEFT JOIN player_detail pd10
                      ON gd01.a5 = pd10.player_id;

Если вам нужна другая деталь, просто измените ссылки на столбцы, например, с weight на name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...