MySQL:选择使用和或生成不正确的数据?
我有一个表,它记录了我正在开发的一个体育应用程序的所有得分。我试图从得分表中找出一名球员有多少次助攻。有一个主辅助和一个辅助辅助,所以我尝试使用计数*返回总辅助的值,其中 我正在使用以下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次助攻准确MySQL:选择使用和或生成不正确的数据?,mysql,database,Mysql,Database,我有一个表,它记录了我正在开发的一个体育应用程序的所有得分。我试图从得分表中找出一名球员有多少次助攻。有一个主辅助和一个辅助辅助,所以我尝试使用计数*返回总辅助的值,其中 我正在使用以下SQL语句: 从teamassist13中选择COUNT*AllScoringPlays,其中GameId=6124,SeasonId=1,p_AssistId=21或S_AssistId=21 这给了我6124游戏的准确得分,它返回用户有2次助攻,但当我将GameId切换到6125时,它会显示用户有1次助攻,而
`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);
带括号的查询是正确的。带括号的查询是正确的。我看不出这个查询怎么不起作用。我在小提琴上试了一下,查询按预期进行。好的,非常感谢,这是漫长的一天,我一定忽略了什么。