从子查询中检索多列
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
我有一个 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