【发布时间】:2012-03-09 04:52:01
【问题描述】:
这就是我要回答的问题……
只有一名球员出现的所有球队的球队名称是什么 145 个或更多游戏?
这是我的解决方案。
SELECT name
From Teams
WHERE teamID IN (SELECT original.teamID
FROM Appearances original
WHERE teamID Not In (SELECT one.teamID
FROM Appearances one, Appearances two
Where (one.teamID = two.teamID)
AND (one.playerID <> two.playerID)
AND (one.GS > 144) AND (two.GS > 144)));
这可行,但我想知道是否有更清洁/更有效的方法来编写它。我使用 Derby 作为我的 dbms。
【问题讨论】:
-
什么风格的 SQL? SQL Server、MySQL?
-
这是家庭作业还是什么,哈哈?如果是这样,那就不酷了。
-
另外,你能解释一下什么是GS吗?我不确定我是否理解它是否完全用于确保我正确编写查询。
-
功课没问题...但请添加标签以便我们指导。
-
@MCR:原始查询肯定会返回不超过一名球员出现在超过 145 场比赛中的球队,而不仅仅是只有一名球员出现在超过 145 场比赛中的球队145 场比赛 - 即。它还会返回没有出现在超过 145 场比赛中的球员的球队吗?