繁体   English   中英

合并行并将其值放在mysql的单独列中

[英]Combine rows and put their values in seperate column in mysql

我想合并两个或两个以上具有相同名称的行,并将其值放在两个单独的列中。 使用以下图像可以更清楚地看到问题: 在此处输入图片说明

我的预期输出是:

在此处输入图片说明

您可以在此处检查小提琴: 小提琴

到目前为止,我尝试过的是MySQL代码:

Select subjects, mark_score, activity 
   FROM(
      SELECT subjects,  mark_score, 
      (SELECT regd, subjects, mark_score 
       FROM exo_i WHERE entry='7' and regd='19') as activity 
       FROM exo_i WHERE regd='19' GROUP BY subjects)t

如评论中所述,要求是为“ FA1”条目显示“标记”,为“ SA1”活动显示“活动”。 假设有不能使用这些值的多个行(即组合regdsubjectsaactivity是独一无二的),你可以为每个这些活动的子查询,并加入他们的行列:

SELECT a.regd, a.subjects, a.marks, b.activity
FROM   (SELECT regd, subjects, marks
        FROM   mytable
        WHERE  entry = 'FA1') a
JOIN   (SELECT regd, subjects, marks AS activity
        FROM   mytable
        WHERE  entry = 'SA1') b ON a.regd = b.regd AND a.subjects = b.subjects

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM