我想合并两个或多个具有相同名称的行,并将它们的值放在两个单独的列中。以下图片可以更清楚地说明问题:
我的预期产出是:
你可以在这里查看小提琴:fiddle
到目前为止,我所尝试的是使用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”条目显示“marks”,为“SA1”活动显示“activity”。假设不能有多个具有这些值的行(即regd
、subjectsa
和activity
的组合是唯一的),则可以为这些活动中的每个活动都有一个子查询,并将它们连接起来:
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
关于mysql - 合并行并将其值放在mysql的单独列中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31308617/