#1241 - 操作数应在 phpmyadmin 上的 wamp 中包含 1 列

Posted

技术标签:

【中文标题】#1241 - 操作数应在 phpmyadmin 上的 wamp 中包含 1 列【英文标题】:#1241 - Operand should contain 1 column(s) In wamp on phpmyadmin 【发布时间】:2019-02-15 12:03:22 【问题描述】:

Sql 中的嵌套查询。

SELECT
   *,
   (SELECT `supplier_sign_up_id`,
         (
            SELECT
               email_address 
            FROM
               supplier_sign_up 
            WHERE
               supplier_sign_up_id = 42 LIMIT 1
         )
      FROM
         `suppliers_acc` 
      WHERE
         singup_login_id = 138 LIMIT 1
   )
FROM
   `singup_login` 
WHERE
   1;

报错-

操作数应包含 1 列。

如何解决。

【问题讨论】:

看起来第二个内部嵌套查询正在向第一个外部嵌套查询返回一个表达式,导致最上面的SELECT 期望有两列。您希望这个结果看起来如何? 【参考方案1】:

试试这个

SELECT *,
    (SELECT `supplier_sign_up_id` FROM suppliers_acc WHERE singup_login_id = 138 LIMIT 1) as supplier_sign_up_id ,
    (SELECT `email_address` FROM supplier_sign_up  WHERE supplier_sign_up_id = 42 LIMIT 1 ) as email_address
FROM
   `singup_login` 
WHERE
   1;

【讨论】:

【参考方案2】:

也许这就是你想要的:

SELECT sa.*,
       (SELECT ssu.email_address
        FROM supplier_sign_up ssu
        WHERE ssu.supplier_sign_up_id = 42
        LIMIT 1
       )
FROM suppliers_acc sa
WHERE sa.singup_login_id = 138;

我不确定您为什么要尝试从子查询中返回 supplier_sign_up_id。你知道值是 42。我怀疑你只是想要email_address

【讨论】:

以上是关于#1241 - 操作数应在 phpmyadmin 上的 wamp 中包含 1 列的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 错误 1241:操作数应包含 1 列

1241, '操作数应包含 1 列' pandas to_sql

java 和 sql 显示 #1241 - 操作数应包含 1 列

如何修复 SQLSTATE[21000]:基数违规:1241 操作数应包含 1 列

51nod 1241:特殊的排序

51nod 1241 特殊的排序(动态规划)