【发布时间】:2019-02-18 06:11:10
【问题描述】:
这是三个示例表
团队
+-------------+-------------+
| TeamID | TeamName |
+-------------+-------------+
| 11 | AA |
+-------------+-------------+
| 12 | BB |
+-------------+-------------+
| 13 | CC |
+-------------+-------------+
匹配
+-------------+
| MatchID |
+-------------+
| 1 |
+-------------+
| 2 |
+-------------+
| 3 |
+-------------+
团队比赛
+-------------+-------------+-------------+
| TmID | Team_ID | MatchID |
+-------------+-------------+-------------+
| 21 | 11 | 1 |
+-------------+-------------+-------------+
| 22 | 11 | 2 |
+-------------+-------------+-------------+
| 23 | 12 | 1 |
+-------------+-------------+-------------+
| 24 | 13 | 2 |
+-------------+-------------+-------------+
| 24 | 11 | 3 |
+-------------+-------------+-------------+
我们的目标是列出他们不止一次参加比赛的TeamName,如下所示:
+-------------+
| TeamName |
+-------------+
| AA |
+-------------+
这是我尝试过的:
SELECT TeamName
FROM Team T, Match M, Teammatch TM
WHERE T.TeamID = TM.TeamID AND
M.MatchID = TM.MatchID
......
但我真的不知道下一步该做什么。
我之前用SELECT COUNT问过类似的问题,但是我不太明白这里的子查询怎么写。
【问题讨论】:
-
。 . 从不在
FROM子句中使用逗号。 始终使用正确、明确、标准JOIN语法。此外,您应该使用您正在使用的数据库标记您的问题。
标签: sql count subquery db2-express-c