重新格式化一个 table 以便将其合并到另一个 table
Reformatting one table in order to combine it to another table
我目前正在做一个个人项目,我在将两个 table 组合在一起时遇到了一些问题。这是一个关于NBA篮球比赛数据的项目。 Whosebug 不允许我将 table 添加到此 post,因此我将附上 table 的屏幕截图:
我的目标是用上位table创造total_STL
、total_BLK
、total_TO
各GAME_ID的主客场, 并将其添加到上面屏幕截图的底部 table。
截图中最下面的table叫做games
,主键是GAME_ID
,每行包含主客场的详细数据。顶层 table 我自己查询 From this table 调用 dbo.games_details
使用代码:
SELECT GAME_ID, TEAM_abbreviation, TEAM_ID,
SUM(CAST(STL as decimal)) AS total_STL,
SUM(CAST(BLK as decimal)) AS total_BLK,
SUM(CAST(games_details.TurnOvers as decimal)) AS total_TO
FROM games_details
WHERE games_details.STL != ' ' and games_details.STL is not NULL
GROUP BY GAME_ID, TEAM_ID, TEAM_ID, TEAM_ABBREVIATION
ORDER BY game_ID desc
SELECT * FROM games
我解决这个问题的方法是先查询和分组 game_details
这样更有条理,获得两支球队每个 GAME_ID 的抢断、盖帽和失误。然后我想使用 games
table 以某种方式将团队分为 HOME 和 AWAY 团队,然后创建 total_STL_HOME
和 total_STL_AWAY
就像 game_details
中的其他统计数据一样。但是,我是 SQL 的新手,我不完全确定如何执行此操作,因为我相信这涉及某种旋转,因为我相信这些行是我需要转换为其他 table.
总结一切:
games
: table 包含 GAME_ID 作为主键。每行包含一支球队的客场和主场比赛统计数据
games_details
:外键为GAME_ID。包含两队每场比赛的个人球员数据
我的目标是用games_details
table相加得到主客场的STL,失误,BLKS,并相加到games
table.
My goal is to use the top table to create total_STL, total_BLK, total_TO for the home game and away game of each GAME_ID, and add it to the bottom table of the screenshot above.
我不确定屏幕截图与您的示例代码有什么关系。但是这个想法看起来像两个连接:
select b.*, th.total_stl, th.total_blk, th.total_to,
ta.total_stl, ta.total_blk, ta.total_to
from bottomtable b join
toptable th
on b.home_team_id = t.team_id join
toptable tb
on b.away_team_id = t.team_id
我目前正在做一个个人项目,我在将两个 table 组合在一起时遇到了一些问题。这是一个关于NBA篮球比赛数据的项目。 Whosebug 不允许我将 table 添加到此 post,因此我将附上 table 的屏幕截图:
我的目标是用上位table创造total_STL
、total_BLK
、total_TO
各GAME_ID的主客场, 并将其添加到上面屏幕截图的底部 table。
截图中最下面的table叫做games
,主键是GAME_ID
,每行包含主客场的详细数据。顶层 table 我自己查询 From this table 调用 dbo.games_details
使用代码:
SELECT GAME_ID, TEAM_abbreviation, TEAM_ID,
SUM(CAST(STL as decimal)) AS total_STL,
SUM(CAST(BLK as decimal)) AS total_BLK,
SUM(CAST(games_details.TurnOvers as decimal)) AS total_TO
FROM games_details
WHERE games_details.STL != ' ' and games_details.STL is not NULL
GROUP BY GAME_ID, TEAM_ID, TEAM_ID, TEAM_ABBREVIATION
ORDER BY game_ID desc
SELECT * FROM games
我解决这个问题的方法是先查询和分组 game_details
这样更有条理,获得两支球队每个 GAME_ID 的抢断、盖帽和失误。然后我想使用 games
table 以某种方式将团队分为 HOME 和 AWAY 团队,然后创建 total_STL_HOME
和 total_STL_AWAY
就像 game_details
中的其他统计数据一样。但是,我是 SQL 的新手,我不完全确定如何执行此操作,因为我相信这涉及某种旋转,因为我相信这些行是我需要转换为其他 table.
总结一切:
games
: table 包含 GAME_ID 作为主键。每行包含一支球队的客场和主场比赛统计数据
games_details
:外键为GAME_ID。包含两队每场比赛的个人球员数据
我的目标是用games_details
table相加得到主客场的STL,失误,BLKS,并相加到games
table.
My goal is to use the top table to create total_STL, total_BLK, total_TO for the home game and away game of each GAME_ID, and add it to the bottom table of the screenshot above.
我不确定屏幕截图与您的示例代码有什么关系。但是这个想法看起来像两个连接:
select b.*, th.total_stl, th.total_blk, th.total_to,
ta.total_stl, ta.total_blk, ta.total_to
from bottomtable b join
toptable th
on b.home_team_id = t.team_id join
toptable tb
on b.away_team_id = t.team_id