MYSQL错误1242:子查询返回多于1行
我有个问题。我想获得所有用户,其中另一个用户必须与下一个用户竞争。我的sql select如下所示: 选择Benutzer.benutzername 来自贝努策 贝努策在哪里= 选择Benutzer\u ID\u 1 从斯皮尔那里下一个播放'35' 还有贝努策·艾德·艾德·贝努策 和 贝努泽尔= 选择Benutzer_ID_2 从斯皮尔那里下一个播放'35' 和贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·贝努泽尔·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾德·艾; 当使用子查询时,您应该查看允许多个结果的使用MYSQL错误1242:子查询返回多于1行,mysql,Mysql,我有个问题。我想获得所有用户,其中另一个用户必须与下一个用户竞争。我的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');