mysql - 子查询的解决方法返回超过 1 个错误

标签 mysql sql subquery

请帮帮我。 我正在创建一个查询,以柱状方式列出客户贷款(REF_NO 字段)支付的所有本金 (SLE_CODE = 11) 和利息 (SLE_CODE = 23)。

我试过这段代码,但它返回“子查询返回多于 1 行”的错误。

SELECT DATE_FORMAT(TR_DATE, '%M %d, %Y'), SL_CLIENTID, REF_NO, SLE_CODE, (select amt from sldtl where REF_NO = 1958
AND SL_CLIENTID = 1782 AND SLC_CODE = 12 AND SLE_CODE = 23) as interest,
(select amt from sldtl sd where REF_NO = 1958
AND SL_CLIENTID = 1782 AND SLC_CODE = 12 AND SLE_CODE = 11) as principal
FROM sldtl
WHERE REF_NO = 1958
AND SL_CLIENTID = 1782 AND SLC_CODE = 12

请引用这个sqlfiddle:

http://sqlfiddle.com/#!9/3ac32/2

提前谢谢你。

最佳答案

样本数据和期望的结果会很有帮助。我很确定你想要条件聚合。也许是这样的:

SELECT DATE_FORMAT(TR_DATE, '%M %d, %Y'),
       SL_CLIENTID, REF_NO,
       SUM(CASE WHEN SLE_CODE = 23 THEN amt END) as interest,
       SUM(CASE WHEN SLE_CODE = 11 THEN amt END) as principal
FROM sldtl
WHERE REF_NO = 1958 AND SL_CLIENTID = 1782 AND SLC_CODE = 12
GROUP BY DATE_FORMAT(TR_DATE, '%M %d, %Y'),
         SL_CLIENTID, REF_NO;

关于mysql - 子查询的解决方法返回超过 1 个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58587748/

相关文章:

php - mysql_num_rows() 有什么问题?

mysql - 避免子选择的查询

SQL:选择性子查询

php - 当用户点击电子邮件中的某些链接时如何登录我的网络应用程序

javascript - BigQuery 将字符串转换为日期时间

mysql - xampp mysql - 来自一个表的数据透视结果

mysql - 创建 View 和性能

mysql - 如何使用信息模式获取不允许 select * 的表结果

php - 使用 mysql 中的 php 更新值 NULL

sql - 根据另一列的字母顺序递增 "sequence"列