【问题标题】:MySQL WHERE query problem (1241: Operand should contain 1 columns)MySQL WHERE 查询问题(1241:操作数应包含 1 列)
【发布时间】:2021-05-02 19:28:49
【问题描述】:

我想从一个大型数据库中检索一些数据。本质上,应该在两个日期之间给定玩家没有进入的地方显示(完整的表格)。

查询将是:

SELECT * 
FROM interiors 
WHERE OWNER = (SELECT * FROM accounts WHERE lastlogin BETWEEN '2021-04-01' AND '2021-04-18');

运行时出现以下错误:

SQL 错误 (1241):操作数应包含 1 列

查询如何正确以及如何工作?

MySQL 版本= 5.7.32

非常感谢您的帮助!

理查德

【问题讨论】:

  • 您必须将 SELECT *** 更改为 **SELECT OWNER
  • 这种方式也不是很完美,但这就是我已经能够使用它的方式。非常感谢您的帮助。
  • 如果您需要更多帮助,您必须发布有关表格和数据的更多信息

标签: mysql operands


【解决方案1】:

你也可以使用INNER JOIN

SELECT i.* 
FROM interiors AS i
INNER JOIN accounts AS a 
ON  a.OWNER = i.OWNER
AND a.lastlogin BETWEEN '2021-04-01' AND '2021-04-18';

【讨论】:

    【解决方案2】:

    正确查询:

    选择 * 从内饰 WHERE owner IN (SELECT id FROM accounts WHERE lastlogin BETWEEN BETWEEN '2021-04-01' AND '2021-04-18');

    谢谢! :)

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多