标签: mysql-error-1241

MySQL - 操作数应包含1列

在我正在创建的系统上工作时,我试图在我的项目中使用以下查询:

SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
(SELECT users.username AS posted_by,
    users.id AS posted_by_id
    FROM users
    WHERE users.id = posts.posted_by)
FROM topics
LEFT OUTER JOIN posts ON posts.topic_id = topics.id
WHERE topics.cat_id = :cat
GROUP BY topics.id
Run Code Online (Sandbox Code Playgroud)

":cat"由我的PHP代码绑定,因为我正在使用PDO.2是":cat"的有效值.

该查询虽然给我一个错误:"#1241 - 操作数应包含1列"

让我感到困惑的是,我认为这个查询没有问题.选择列,然后从另一个表中再选择两个,然后从那里继续.我只是无法弄清楚问题是什么.

是否有一个简单的解决方法,或其他方式来编写我的查询?

mysql sql mysql-error-1241

73
推荐指数
5
解决办法
24万
查看次数

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

我试图将table1中的数据插入table2

insert into table2(Name,Subject,student_id,result)
select (Name,Subject,student_id,result)
from table1;
Run Code Online (Sandbox Code Playgroud)

table2的关键是student_id.

假设没有任何重复.

我收到错误: MySQL error 1241: Operand should contain 1 column(s)

table2中只有四列.

mysql sql select insert mysql-error-1241

51
推荐指数
3
解决办法
13万
查看次数

MySQL语法错误消息"操作数应包含1列"

我尝试运行以下语句:

INSERT INTO VOUCHER (VOUCHER_NUMBER, BOOK_ID, DENOMINATION)
SELECT (a.number, b.ID, b.DENOMINATION) 
FROM temp_cheques a, BOOK b
WHERE a.number BETWEEN b.START_NUMBER AND b.START_NUMBER+b.UNITS-1;
Run Code Online (Sandbox Code Playgroud)

根据我的理解,应该从temp_cheques中插入VOUCHER中的每个记录,其ID和DENOMINATION字段对应于BOOK表中的条目(temp_cheques来自数据库备份,我试图以不同的格式重新创建).但是,当我运行它时,我收到一个错误:

Error: Operand should contain 1 column(s)
SQLState:  21000
ErrorCode: 1241
Run Code Online (Sandbox Code Playgroud)

我在SQuirrel中运行它并且没有遇到任何其他查询的问题.我的查询语法有问题吗?

编辑:

BOOK的结构是:

ID  int(11)
START_NUMBER    int(11)
UNITS   int(11)
DENOMINATION    double(5,2)
Run Code Online (Sandbox Code Playgroud)

temp_cheques的结构是:

ID  int(11)
number  varchar(20)
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1241

23
推荐指数
1
解决办法
7万
查看次数

MySQL错误"操作数应包含1列"

我可以找到很多类似的问题,但对我的问题没有真正的解决方案.

我的SQL查询:

UPDATE ADRESSEN
SET EMAIL = 0
WHERE ID = (SELECT ID, COUNT(ID) AS COUNTER
FROM EIGENSCHAFTEN WHERE Kategorie = "BOUNCE" 
GROUP BY ID
HAVING COUNTER = 1)
Run Code Online (Sandbox Code Playgroud)

我收到的错误代码是

#1241 - Operand should contain 1 column(s)
Run Code Online (Sandbox Code Playgroud)

如果我只是在括号中使用查询它的工作原理,结果是

ID | COUNTER
0002159 | 1
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里?非常感谢你的帮助.

mysql operand mysql-error-1241

9
推荐指数
2
解决办法
5万
查看次数

子查询是否可以返回两个值?

子查询是否可以将两个值返回到外部查询?如:

SELECT 1, 
       (SELECT COUNT(*), MAX(*) FROM test_table WHERE test=123) 
FROM another_table
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法吗?

mysql sql subquery mysql-error-1241

6
推荐指数
1
解决办法
5501
查看次数

Mysql ERROR 1241(21000):操作数应包含1列

我有带编号范围的客户组(从客户编号到客户编号).

select g.id,
(select count(*), sum(sales)
FROM transactions t1 
where t1.customernumber between g.from_customernumber and g.to_customernumber)
from customer_groups g
Run Code Online (Sandbox Code Playgroud)

选择此项后,我收到此错误

ERROR 1241 (21000): Operand should contain 1 column(s)
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?我已经阅读了一些有关此问题的线索,但我没有找到解决方案.

最好的祝福!

mysql subquery operand mysql-error-1241

5
推荐指数
1
解决办法
2万
查看次数

操作数应包含1列 - MySQL不在

SELECT * from campaigns WHERE id not in
(SELECT 
    e.id_campaign, d.name, d.frequency, d.country, d.referral, d.bid, d.status, COUNT(e.id) AS countcap  
    FROM campaigns d
    LEFT JOIN served e
    ON d.id = e.id_campaign 
    WHERE 
        d.status = 'Active'
    GROUP BY e.id_campaign
    HAVING
        countcap < d.frequency)
Run Code Online (Sandbox Code Playgroud)

我得到错误"操作数应该包含1列" - 但我需要COUNT(e.id)

mysql sql mysql-error-1241

4
推荐指数
1
解决办法
4065
查看次数

java 中操作数应包含 1 列

String  sql = "SELECT (Employee_name, Password) FROM employee WHERE (Employee_name = '"+name+"'  AND Password = '"+password+"')";
Run Code Online (Sandbox Code Playgroud)

并在 JSP java.sql.sqlexception insert operand should contains 1 columns(s) 中出现以下异常

请帮忙。

mysql mysql-error-1241

4
推荐指数
1
解决办法
2万
查看次数

ERROR 1241(21000):执行查询时,操作数应包含1列


INSERT INTO People(Track_id_Reference) 
SELECT track_id 
FROM Tracks 
WHERE track_title IN (SELECT tracktitle 
                      FROM top100 
                      WHERE artist IN (SELECT p.People_name, t.artist 
                                       FROM People AS p 
                                       RIGHT JOIN top100 AS t 
                                       ON 
                                       p.People_name=t.artist 
                                       UNION DISTINCT 
                                       SELECT p.People_name, t.artist 
                                       FROM People AS p 
                                       LEFT JOIN top100 AS t 
                                       ON 
                                       p.People_name=t.artist));
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

ERROR 1241 (21000): Operand should contain 1 column(s)

子查询哪个联合会返回2列.我怎样才能解决这个问题?

mysql sql mysql-error-1241

3
推荐指数
1
解决办法
1311
查看次数

错误#1241 - 操作数应包含Mysql中的1列

我只是尝试以下查询:

SELECT *, 
      (
       SELECT count(*) 
       FROM users 
       where users.email=calls.email
      ) as ureg, 
      (
       SELECT sum(qty) 
       FROM product 
       where product.owner in 
          (SELECT * 
           from users 
           where users.email=calls.email)
      ) as pop 
FROM calls 
order by calls.data desc 
LIMIT 0,20
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

#1241 - Operand should contain 1 column(s)
Run Code Online (Sandbox Code Playgroud)

我该如何修复我的查询?

编辑: SELECT * from users where users.email=calls.email 改为 SELECT id from users where users.email=calls.email

它的工作原理是因为查询id在用户中存在的一堆s中搜索product.owner

mysql mysql-error-1241

3
推荐指数
1
解决办法
4万
查看次数

标签 统计

mysql ×10

mysql-error-1241 ×10

sql ×5

operand ×2

subquery ×2

insert ×1

select ×1