从子查询中检索多列

Muliple column retrieval from Subquery

我有一个 table 任务和另一个 table master_employee

我正在尝试列出一些任务详细信息以及将被解析为 json 对象的字符串

   SELECT task_name,assignees,priority,
   DATE_FORMAT(due_date, "%M %d %Y") as due_date ,

  (select GROUP_CONCAT(CONCAT('{ id:"',emp_id, '",name:"',first_name ,'"}')) as list 
   from master_employee where emp_id in(2925,2913))  as list 
   FROM tasks
   where task_id=4189

我指的字符串是列别名 'list'。所以问题是,正如我们所知,子查询没有 return 多个值,查询 returns 只有一个 emp_id 的连接值。我想要,例如在这种情况下 emp_id 的 2925 和 2913

的串联值

可能您使用的 GROUP_CONCAT 函数没有 GROUP BY 子句。如果您没有适合组的字段,则只需将组与任何内容一起使用,例如 1 或 '1'

SELECT task_name,assignees,priority,
DATE_FORMAT(due_date, "%M %d %Y") as due_date , (
  select GROUP_CONCAT(CONCAT('{ id:"',emp_id, '",name:"',first_name 
  ,'"}')) as list 
  from master_employee where emp_id in(2925,2913)
  GROUP BY '1'
) as list 
FROM tasks
where task_id=4189