简体   繁体   English

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

[英]Mysql ERROR 1241 (21000): Operand should contain 1 column

I'm attempting to insert some data with MySQL using a subquery like so: 我正在尝试使用像这样的子查询在MySQL中插入一些数据:

INSERT
INTO dw_plynjasa.jumlah_fact
    SELECT null, jasa_sk, waktu_sk, sum(hrg_pes), count(d.no_pes) 
    FROM   dw_plynjasa.jasa_dim      a,
           dw_plynjasa.waktu_dim     b,
           oltp_plynjasa.detil_pesan c,
           oltp_plynjasa.pesan       d,
           oltp_plynjasa.jasa        e
    WHERE  b.tgl = d.tgl_pes
      AND  a.kd_jasa = e.kd_jasa
      AND  a.nm_jasa = e.nm_jasa
      AND  a.satuan = e.satuan
      AND  a.hrg_satuan = e.hrg_satuan 
    GROUP  BY (jasa_sk, waktu_sk);

but I get only error 1241, operand should contain 1 column(s) 但我只收到error 1241, operand should contain 1 column(s)

How can I fix my query? 如何解决查询?

group by should be on individual columns and comma separated. group by应该在各个列上用逗号隔开。
They should not be a grouped as a set . 不应将它们分组为一

Remove parenthesis ( and ) in group by clause. 删除group by子句中的括号 ()

Example : 范例

mysql> select * from so.employee where 1=2 group by empno, deptno;
Empty set (0.00 sec)

mysql> select * from so.employee where 1=2 group by (empno, deptno);
ERROR 1241 (21000): Operand should contain 1 column(s)
mysql>

Change : 变更

GROUP BY (jasa_sk,waktu_sk);

To :

GROUP BY jasa_sk, waktu_sk;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM