【发布时间】:2020-02-19 09:32:43
【问题描述】:
我正在开发一个简单的问答游戏,但在创建 SQL (SQL Server 2016) 查询时遇到了困难。我有以下相关表格:
[作者]
ID
姓名[测验]
ID
AuthorID (指向 [Authors] 中的 ID)[QuizGames]
ID
QuizID (指向 [Quizes] 中的 ID)[GamesPlayed]
ID
QuizGameID (指向 [QuizGames] 中的 ID)[Players]
ID
GamePlayedID (指向 [GamesPlayed] 中的 ID)
DatePlayed
给定一个作者的 ID(在第一个表中),我需要获取他在过去 6 个月内玩的所有游戏的玩家总数(最后一个表)。例如,我需要一个返回我的存储过程 /Query:
Feb2020 Jan2020 Dec2019 Nov2019 Oct 2019 Sep2019
1404 2512 6521 1421 2150 1120
基本上我需要从第一个表中获取作者的 ID,然后在第二个表中查找他创建的所有测验,然后查找用他的测验创建的所有游戏(在第三个表中),然后查找所有游戏(第 4 桌)玩过他的游戏,然后寻找玩过他的游戏的玩家(最后一张桌,按过去 6 个月分组)。
我怎样才能做到这一点?
【问题讨论】:
-
欢迎来到 SO,您尝试过什么?看看w3schools.com/sql/sql_select.asp
-
你“需要一个存储过程”,所以你先写一个。这不是免费的代码编写服务。这种方法通常被称为枢轴 - 从搜索该术语开始。如果您是 tsql 新手,此时这可能超出您的能力范围。此外,这种类型的目标通常可以在报告工具中更轻松地实现。
标签: sql sql-server tsql stored-procedures