Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 r2 Msg 209,16级,状态1,第4行不明确的列名“p_id”_Sql Server 2008 R2 - Fatal编程技术网

Sql server 2008 r2 Msg 209,16级,状态1,第4行不明确的列名“p_id”

Sql server 2008 r2 Msg 209,16级,状态1,第4行不明确的列名“p_id”,sql-server-2008-r2,Sql Server 2008 R2,我有以下生成错误消息的查询 Msg 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

我有以下生成错误消息的查询

Msg 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
显然,playerperperform和player中都有一个p_id列

最低限度,改变:

GROUP BY p_id

您正在执行隐式交叉联接似乎也很可疑:

我怀疑这应该是一个具有某些条件的内部联接,例如

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

顺便说一句,p_id对于一列来说是一个糟糕的名字…

我想把玩家的名字放进去,但它给了我这个错误,先生,我想把玩家的名字也放进去,我怎么能把它放进去?球员的名字在另一张桌子上叫球员对不起我不能understand@user2914820抱歉,如果您不明白我的答案,那么我不知道如何帮助您。选择*从SELECT playerperform.p_id,player.first_name+last_name,将playerperform.scoreas合计为totalgoal,按SUMplayerperform.scoreDESC Rnk从playerperform内部加入玩家对playerperform.p_id=player.p_id组按playerperform.p_id,玩家进行排序。名字+姓氏作为一个a,其中Rnk=1这些是我的代码
FROM playerperform,player
FROM dbo.playerperform INNER JOIN dbo.player
ON playerperform.p_id = player.p_id