首页 > 解决方案 > 当有多个值时,子查询返回超过 1 行

问题描述

尝试执行此查询时,它不断给我 MySQL 错误子查询返回超过 1 行

SELECT c.*,
    (SELECT COALESCE(SUM(o.project_extracts_total), 0)
     FROM extracts o
     WHERE o.project_id = c.id ) AS total_extracts,
    (SELECT contractor_evaluation   
     FROM project_extras s
     WHERE s.project_id = c.id
     ORDER BY ID DESC
     LIMIT 1) AS contractor_evaluation,
    (SELECT sum(order_value)    
     FROM orders o
     WHERE o.project_id = c.id) AS contract_final_value,
    (SELECT `transaction_number`
     FROM `orders` o 
     WHERE o.project_id = c.id
     AND 
     MONTH(`date_created`) = MONTH(CURRENT_DATE())
     AND YEAR(`date_created`) = YEAR(CURRENT_DATE())) AS transaction_number 
 FROM projects c

当项目的价值超过这样的价值时,我在orders表格中发现了问题transaction_numbertransaction_number

在此处输入图像描述

我想在查询结果行中使用逗号分隔这些值,例如 (1,15)

标签: mysqlselectsubquery

解决方案


推荐阅读