Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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错误1242:子查询返回多于1行_Mysql - Fatal编程技术网

MYSQL错误1242:子查询返回多于1行

MYSQL错误1242:子查询返回多于1行,mysql,Mysql,我有个问题。我想获得所有用户,其中另一个用户必须与下一个用户竞争。我的sql select如下所示: 选择Benutzer.benutzername 来自贝努策 贝努策在哪里= 选择Benutzer\u ID\u 1 从斯皮尔那里下一个播放'35' 还有贝努策·艾德·艾德·贝努策 和 贝努泽尔= 选择Benutzer_ID_2 从斯皮尔那里下一个播放'35' 和贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾;

我有个问题。我想获得所有用户,其中另一个用户必须与下一个用户竞争。我的sql select如下所示:

选择Benutzer.benutzername 来自贝努策 贝努策在哪里= 选择Benutzer\u ID\u 1 从斯皮尔那里下一个播放'35' 还有贝努策·艾德·艾德·贝努策 和 贝努泽尔= 选择Benutzer_ID_2 从斯皮尔那里下一个播放'35' 和贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾; 当使用子查询时,您应该查看允许多个结果的使用


除非您确定查询只返回一行,否则您的一个子查询或两个子查询将返回多个结果。使用=运算符时,需要返回单个结果。您可以改为使用IN运算符运行以匹配多个结果:

SELECT Benutzer.benutzername
              FROM Benutzer
              WHERE Benutzer_ID IN
              (SELECT Benutzer_ID_1
              FROM Spiel WHERE NextToPlay ='35'
              AND Benutzer_ID_2 ='35' )
              AND
              Benutzer_ID IN
              (SELECT Benutzer_ID_2
              FROM Spiel WHERE NextToPlay ='35'
              AND Benutzer_ID_1 ='35');

子查询的结果是什么?只需在子查询上使用限制1您的问题已经很清楚了。子查询返回的行数超过1行。现在怎么办?分享你的桌子结构会很好。
SELECT Benutzer.benutzername
              FROM Benutzer
              WHERE Benutzer_ID IN
              (SELECT Benutzer_ID_1
              FROM Spiel WHERE NextToPlay ='35'
              AND Benutzer_ID_2 ='35' )
              AND
              Benutzer_ID IN
              (SELECT Benutzer_ID_2
              FROM Spiel WHERE NextToPlay ='35'
              AND Benutzer_ID_1 ='35');