2016-04-19 6 views
0

フィールドの数をカウントする必要があるクエリがあります。次に、最高値を返します。このクエリーはうまくいきましたが、別のテーブル 'チーム(PlayerID)をプレーヤー(PlayerID)とリンクさせたいので、プレーヤーのチームの詳細などを表示します。私もdescで注文を使いたくない - 最初の行のみ。 (オラクル)2つのテーブルでMAXとCountを使用する方法

問合せ:

SELECT PlayerID, COUNT(Points) 
+1

は、いくつかのサンプル・テーブル・データと予想される結果を追加します! – jarlh

+1

あなたのqueyのチームテーブルはどこですか?私はこれが動作しているクエリだと思います...しかし、あなたはdoesntの仕事をしているクエリを表示しない場合、どのように答えを期待することができますか? –

+0

はい、私はこれにチームテーブルを追加したいと思います。 Player.TeamID = Team.TeamID ....私がする必要があるのは、チームテーブルからの 'TeamName'を追加することだけです。私はそれに参加することに問題があります – Teleporter12

答えて

0
SELECT t.*, p.* FROM 
team t INNER JOIN 
(SELECT PlayerID, COUNT(Points) 
FROM Player 
WHERE Points = 1 
group by PlayerID 
HAVING COUNT(Points) = (SELECT MAX(count(Points)) 
         from Player 
         WHERE Points = 1 
         group by PlayerID) 
) p 
ON t.PlayerID = p.PlayerID 
+0

あなたは天才です!すべて完璧 – Teleporter12

0
.... 
HAVING COUNT(Points) = (SELECT MAX(sub.cp) 
         from (SELECT count(Points) as cp 
           from Player 
           WHERE Points = 1 
           group by PlayerID) sub 
         ) 
+0

チームテーブルに参加し、クエリに列を追加したいと思います。 Player.TeamID = Team.TeamID – Teleporter12

0
SELECT A.PlayerID, a.TotalPoints, b.[stuff] 
FROM (SELECT PlayerID, COUNT(Points) 
     FROM Player 
     WHERE Points = 1 
     group by PlayerID 
     HAVING COUNT(Points) = (SELECT MAX(count(Points)) 
           from Player 
           WHERE Points = 1 
           group by PlayerID)) a 
join TEAM b on b.playerid = a.playerid; 
関連する問題