Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 1241-操作数应包含1列:为什么?_Php_Mysql_Sql - Fatal编程技术网

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

Php 1241-操作数应包含1列:为什么?,php,mysql,sql,Php,Mysql,Sql,我希望在主查询中使用子查询,如下所示: 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 DIS

我希望在主查询中使用子查询,如下所示:

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
但我面临着这个错误

块引号1241-操作数应包含1列


我明白了,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

最后一个ORDER BY应该是主SELECT,但是我在SELECT列表中没有看到任何名为INPUTTATED的列,因为in需要一个列表,即值列。两个是没有意义的。将SUMamount移到WHERE,而不是have。可能重复的inputDateD是tbl_mahmoleh中的一个字段,