【问题标题】:Stored procedure - Group By Id another value equals parameter存储过程 - Group By Id 另一个值等于参数
【发布时间】:2016-04-17 10:47:39
【问题描述】:

这适用于 SQL Server 2012

我有以下结果

GameId    |    TeamId    
------------------------
1              50
1              40
2              50
2              40
3              30
3              20

我想将 TeamId 传递到我的存储过程 (TeamId = 40) 并返回按 GameId 分组的结果,其中 TeamId = 40 之一。

当我这样做时,它只返回包含TeamId = 40 的所有记录。但我需要维护另一条记录并返回以下结果。

GameId    |    TeamId    
------------------------
1              50
1              40
2              50
2              40

感谢您提前回复。

【问题讨论】:

  • @Dustin 提供的答案完全符合您的要求,您为什么需要分组?
  • 这适用于哪个 RDBMS?请添加标签以指定您使用的是mysqlpostgresqlsql-serveroracle 还是db2 - 或者完全是其他东西。
  • 我更新说它适用于 SQL Server 2012。
  • 我的脑子里似乎把这个复杂化了。我的 SQL 知识非常有限。

标签: sql sql-server-2012 views procedure


【解决方案1】:

您可以从 TeamId = 40 的结果中查询:

SELECT GameId, TeamId
FROM yourTable
WHERE GameId IN (SELECT GameId FROM yourTable WHERE TeamId = 40);

这应该会给您与您发布的相同的结果

【讨论】:

  • 非常感谢达斯汀。我似乎把这件事复杂化了。您的解决方案完美运行。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
相关资源
最近更新 更多