Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
MySQL:选择使用和或生成不正确的数据?_Mysql_Database - Fatal编程技术网

MySQL:选择使用和或生成不正确的数据?

MySQL:选择使用和或生成不正确的数据?,mysql,database,Mysql,Database,我有一个表,它记录了我正在开发的一个体育应用程序的所有得分。我试图从得分表中找出一名球员有多少次助攻。有一个主辅助和一个辅助辅助,所以我尝试使用计数*返回总辅助的值,其中 我正在使用以下SQL语句: 从teamassist13中选择COUNT*AllScoringPlays,其中GameId=6124,SeasonId=1,p_AssistId=21或S_AssistId=21 这给了我6124游戏的准确得分,它返回用户有2次助攻,但当我将GameId切换到6125时,它会显示用户有1次助攻,而

我有一个表,它记录了我正在开发的一个体育应用程序的所有得分。我试图从得分表中找出一名球员有多少次助攻。有一个主辅助和一个辅助辅助,所以我尝试使用计数*返回总辅助的值,其中

我正在使用以下SQL语句:

从teamassist13中选择COUNT*AllScoringPlays,其中GameId=6124,SeasonId=1,p_AssistId=21或S_AssistId=21

这给了我6124游戏的准确得分,它返回用户有2次助攻,但当我将GameId切换到6125时,它会显示用户有1次助攻,而他们应该有0次

我还尝试了以下说法:

从GameId=6124、SeasonId=1、p_AssistId=21或S_AssistId=21的所有ScoringPlays中选择COUNT*

然后告诉我玩家对GameID6124有1次助攻不准确,应该是2次,对GameID6125有0次助攻准确

`GameId` 6125 should return 0 assists
`GameId` 6124 should return 2 assists
这是我当前查询的视图的结构:

| GameId | TeamId | SeasonId | LeagueId | GoalId | P_AssistId | S_AssistId |
   6124      1         1           1        20        21             23
   6124      1         1           1        19        20             21

它似乎绕过了OR语句,我不知道如何解决这个问题。感谢您的帮助。

您的第二个问题是正确的:

SELECT COUNT(*) FROM AllScoringPlays WHERE GameId = 6124 AND SeasonId = 1 AND
(P_AssistId = 21 OR S_AssistId = 21);

带括号的查询是正确的。带括号的查询是正确的。我看不出这个查询怎么不起作用。我在小提琴上试了一下,查询按预期进行。好的,非常感谢,这是漫长的一天,我一定忽略了什么。