首页 > 解决方案 > 错误代码 1241:操作数应包含 1 列

问题描述

我的目标是检索余额大于零的所有帐户。

我有两张表 tblloancontract 和 tblloanpayment。

tblloancontract有两列:accnumidmember

tblloanpayment具有:idpayment、、balanceaccnum(来自 tblloancontract 的外键)。


下面是我目前写的MYSQL代码:
SELECT * FROM tblloanpayment WHERE accnum IN
(SELECT MAX(idpayment), tblloanpayment.accnum, MIN(tblloanpayment.balance)
FROM tblloanpayment JOIN tblloancontract ON tblloanpayment.accnum=tblloancontract.accnum
GROUP BY idmember) AND balance > 0;

标签: selectmaxmysql-workbenchminoperands

解决方案


您不只想要最低余额大于 0 的所有帐户吗?在那种情况下,你为什么需要这张tblloancontract桌子?

SELECT tlp.accnum, MIN(tlp.balance) 
  FROM tblloanpayment tlp
  GROUP BY tlp.accnum
  HAVING MIN(tlp.balance) > 0;

这并不是存储贷款信息的好方法。“合同”表应该有初始余额和当前余额,“付款”表应该有付款金额。


推荐阅读