-2

エラーメッセージを生成している次のクエリがあります

メッセージ 209、レベル 16、状態 1、行 4 あいまいな列名 'p_id'

以下は問題のあるクエリです。

SELECT *
from (select playerperform.p_id,player.first_name, SUM (playerperform.score)as totalgoal, RANK() OVER(ORDER BY SUM(playerperform.score)DESC) Rnk
      from playerperform,player  
      Group by p_id
      )as a
WHERE Rnk = 1
4

1 に答える 1

1

明らかに、 とp_idの両方に列がplayerperformありplayerます。

最低限、次のように変更します。

GROUP BY p_id

GROUP BY playerperform.p_id

また、暗黙的に実行していることも疑わしいようですCROSS JOIN:

FROM playerperform,player

INNER JOIN次のような何らかの条件があるはずだと思います

FROM dbo.playerperform INNER JOIN dbo.player
ON playerperform.p_id = player.p_id

余談p_idですが、列の名前はひどいです...

于 2013-10-25T15:59:47.977 に答える