如何将此SQL查询别名

  • 本文关键字:查询 别名 SQL sql
  • 更新时间 :
  • 英文 :


为了练习我的SQL技能,我正试图创建一个按盗垒年份排列的排行榜。

我希望输出是这样的:

yearID   playerID_NL  SB  playerID_AL SB
2019     1234         37  5678        32
...

为了做到这一点,我有一个精选的声明,可以得到所有的领导者,如下所示:

select
yearID, 
playerID, 
SB,
lgID
from
(select 
yearID, 
playerID,
SB, 
lgID,
max(SB) OVER (PARTITION BY yearID, lgID) as max_SB
from batting) AS max_sb
where 
SB = max_SB.max_SB;

这是有效的,但每个联赛(AL和NL(都有一排;我希望每年有一行的al和nl领导人在单独的列中;

我想把上面的查询别名为sb_leaders,然后像这样加入,每年有一行:

select
... -- etc.
from 
sb_leaders
where
lgID = 'NL'
outer join
(
... -- same thing as above, except lgID = 'AL'
) al
on 
sb_leaders.yearID = al.yearID

不管上面的JOIN是否有点错误(我稍后可以弄清楚是什么错误。(我无法创建允许我从sb_leader中选择任何内容的别名。这是一个错误,通常像所有SQL错误一样是神秘的。我该如何别名?或者,如果除了alais之外,还有一种方法可以避免深度嵌套查询,那也会有很大帮助。

由于您正在进行实践,以下是如何在sql:中使用别名的一般和基本想法

SQL——c.columnname AS new columnname是什么意思?

您可以尝试使用别名并执行子查询类型的结构。

或者,您可以尝试制作一个临时表,以您喜欢的格式保存值,在运行实际的报告代码之前进行此操作。您可以在sql语句的From区域中使用临时表名,并记住为其创建一个别名

如果你陷入困境,我可以再给你一些提示。

最新更新