简体   繁体   English

#1241-操作数应包含1列:为什么?

[英]#1241 - Operand should contain 1 column(s): why?

i want use a subquery in a main query like following: 我想在主查询中使用子查询,如下所示:

SELECT distinct(cnt.crid),cu.companyName,m.*,cnt.*,m.submitDate as mSubmitDate 
from tbl_mahmoleh m,tbl_customer cu,tbl_cntreserve cnt 
where m.cuID=cu.cuID and m.mBLID=cnt.mBLID and m.cuID='12' 
      and (cnt.crID IN (SELECT DISTINCT(crID) FROM tbl_paymentcnt)) 
      and (cnt.crID IN (SELECT pc.crID, SUM( amount ) AS PaySum 
                        FROM tbl_paymentcnt pc GROUP BY pc.crID HAVING PaySum < '2000'))
ORDER BY inputDateD

but i faced by this error 但是我遇到这个错误

Blockquote #1241 - Operand should contain 1 column(s) Blockquote#1241-操作数应包含1列

i got it, the IN clause can't work with more than one field, i changed my Query to the following and my Problem was solved. 我明白了,IN子句不能与多个字段一起使用,我将查询更改为以下内容,并且问题得到解决。

SELECT DISTINCT(cnt.crid),cu.companyName,m.*,cnt.*,m.submitDate AS mSubmitDate 
FROM tbl_mahmoleh m,tbl_customer cu,tbl_cntreserve cnt 
WHERE m.cuID=cu.cuID AND m.mBLID = cnt.mBLID AND m.cuID = '12' 
AND (cnt.crID IN (SELECT DISTINCT(crID) FROM tbl_paymentcnt)) 
AND (cnt.crID IN (SELECT pc.crID FROM tbl_paymentcnt pc GROUP BY pc.crID HAVING SUM(amount) < '2500')) 
ORDER BY inputDateD

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

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