Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 SQL查询工作正常,但数据正在损坏?_Mysql_Sql - Fatal编程技术网

Mysql SQL查询工作正常,但数据正在损坏?

Mysql SQL查询工作正常,但数据正在损坏?,mysql,sql,Mysql,Sql,我有一个查询,仅在搜索1个游戏的数据时运行良好,其中gameid=36,但是,一旦我尝试加入多个游戏gameid=36和gameid=37,查询运行良好,但返回所有数据的所有0 SELECT CONCAT_WS( '. ', SUBSTR( p.playerfname, 1, 1 ) , p.playerlname ) name, COALESCE( goalEvents.goals, 0 ) goals, COALESCE( a1.assists, 0 ) + COALESCE(

我有一个查询,仅在搜索1个游戏的数据时运行良好,其中gameid=36,但是,一旦我尝试加入多个游戏
gameid=36和gameid=37
,查询运行良好,但返回所有数据的所有0

SELECT 
 CONCAT_WS(  '. ', SUBSTR( p.playerfname, 1, 1 ) , p.playerlname ) name, 
 COALESCE( goalEvents.goals, 0 ) goals, 
 COALESCE( a1.assists, 0 ) + COALESCE( a2.assists, 0 ) assists, 
 COALESCE( goalEvents.goals, 0 ) + COALESCE( a1.assists, 0 ) + COALESCE( a2.assists, 0 ) points
FROM players p
 LEFT JOIN (SELECT scorer, COUNT( scorer ) goals FROM goalEvents WHERE gameid = 36 AND gameid = 37GROUP BY scorer) goalEvents ON p.playerid = goalEvents.scorer
 LEFT JOIN (SELECT assist1, COUNT( assist1 ) assists FROM goalEvents WHERE gameid = 36 AND gameid = 37 GROUP BY assist1) a1 ON p.playerid = a1.assist1
 LEFT JOIN (SELECT assist2, COUNT( assist2 ) assists FROM goalEvents WHERE gameid = 36 AND gameid = 37 GROUP BY assist2) a2 ON p.playerid = a2.assist2
WHERE p.playerteam = 26 ORDER BY points DESC, goals DESC
调用多个游戏行时必须出现错误

FROM goalEvents WHERE gameid = 36 AND gameid = 37 
我用多个游戏搜索错了吗?我基本上是通过我表格的最后4个游戏ID来搜索的

试试:

FROM goalEvents WHERE gameid = 36 OR gameid = 37
您将需要使用
而不是
,gameid永远不能是36和37。您希望找到两个不同的记录,一个是
gameid=36
,另一个是
gameid=37
。如果使用
,它们都会使条件失效

如果您有2个以上,您也可以在(36,37,…)中尝试
gameid
这是
等的缩写,请尝试:

FROM goalEvents WHERE gameid = 36 OR gameid = 37
您将需要使用
而不是
,gameid永远不能是36和37。您希望找到两个不同的记录,一个是
gameid=36
,另一个是
gameid=37
。如果使用
,它们都会使条件失效

如果您有2个以上,您也可以在(36,37,…)中尝试
gameid
这是
等的缩写,请尝试:

FROM goalEvents WHERE gameid = 36 OR gameid = 37
您将需要使用
而不是
,gameid永远不能是36和37。您希望找到两个不同的记录,一个是
gameid=36
,另一个是
gameid=37
。如果使用
,它们都会使条件失效

如果您有2个以上,您也可以在(36,37,…)中尝试
gameid
这是
等的缩写,请尝试:

FROM goalEvents WHERE gameid = 36 OR gameid = 37
您将需要使用
而不是
,gameid永远不能是36和37。您希望找到两个不同的记录,一个是
gameid=36
,另一个是
gameid=37
。如果使用
,它们都会使条件失效


如果你有2个以上的玩家,你也可以在(36,37,…)中尝试
gameid
这是
的缩写,
等你可以在
子句中使用
,我想这样就行了

比如试试这个

FROM goalEvents WHERE gameid in(36,37)

祝你好运。

你可以在
子句中使用
,我想这样就行了

比如试试这个

FROM goalEvents WHERE gameid in(36,37)

祝你好运。

你可以在
子句中使用
,我想这样就行了

比如试试这个

FROM goalEvents WHERE gameid in(36,37)

祝你好运。

你可以在
子句中使用
,我想这样就行了

比如试试这个

FROM goalEvents WHERE gameid in(36,37)
祝你好运。

试试这个:

FROM goalEvents WHERE gameid in (36, 37);
我猜gameid是唯一的,所以不能使用
,因为gameid不可能是36和37。因此,请尝试在

中使用
,尝试以下操作:

FROM goalEvents WHERE gameid in (36, 37);
我猜gameid是唯一的,所以不能使用
,因为gameid不可能是36和37。因此,请尝试在

中使用
,尝试以下操作:

FROM goalEvents WHERE gameid in (36, 37);
我猜gameid是唯一的,所以不能使用
,因为gameid不可能是36和37。因此,请尝试在

中使用
,尝试以下操作:

FROM goalEvents WHERE gameid in (36, 37);

我猜gameid是唯一的,所以不能使用
,因为gameid不可能是36和37。因此,请尝试在

中使用
,但我想从这两款游戏中获取统计数据并将它们添加到一起,如果我不指定游戏ID,我可以使用相同的查询从所有游戏中获取统计数据,我正在尝试从特定游戏中获取统计数据并将它们添加到一起,您不能在第一个游戏中使用
gameid=36和gameid=37
,如果gameid=36,则该记录将失败
和gameid=37
。我想我明白你现在说的了,让我试试,或者我想从这两个游戏中获取统计数据并将它们相加,如果我不指定游戏ID,我可以通过相同的查询从所有游戏中获取统计数据,我尝试从特定游戏中获取统计数据并将它们相加,您不能在第一个游戏中使用
gameid=36和gameid=37
,如果gameid=36,则该记录将失败
和gameid=37
。我想我明白你现在说的了,让我试试,或者我想从这两个游戏中获取统计数据并将它们相加,如果我不指定游戏ID,我可以通过相同的查询从所有游戏中获取统计数据,我尝试从特定游戏中获取统计数据并将它们相加,您不能在第一个游戏中使用
gameid=36和gameid=37
,如果gameid=36,则该记录将失败
和gameid=37
。我想我明白你现在说的了,让我试试,或者我想从这两个游戏中获取统计数据并将它们相加,如果我不指定游戏ID,我可以通过相同的查询从所有游戏中获取统计数据,我尝试从特定游戏中获取统计数据并将它们相加,您不能在第一个游戏中使用
gameid=36和gameid=37
,如果gameid=36,则该记录将失败
和gameid=37
。我想我明白你现在说的了,让我试试看