【问题标题】:Convert Rows to Columns Mysql将行转换为列 Mysql
【发布时间】:2019-03-11 18:30:24
【问题描述】:

我正在尝试将行转换为列,我有如下 sql 数据

我想在每个学生的同一科目前面的第二列中显示下一次考试获得的分数。像下面 提前致谢。

【问题讨论】:

  • 这里有太多模糊的图片,不足以解决问题。我们可以随时修复您的查询,但我们无法对屏幕截图进行任何操作。
  • 到目前为止你尝试了什么???

标签: mysql sql


【解决方案1】:

谢谢大家,左连接解决了。

SELECT 
  sm.`student_id`, sm.`subject_id`, s.`name` AS subject_name, sm.`marks_obtained` AS e_11 , e2.`marks_obtained` AS e_14
FROM
  ims_studentmarks sm INNER JOIN ims_subject s ON s.`id` = sm.`subject_id`
LEFT JOIN ims_studentmarks e2 ON e2.`subject_id` = sm.`subject_id` AND e2.`student_id` = sm.`student_id` AND e2.`exam_id` = 14


WHERE sm.`exam_id` = 11 
  AND sm.student_id IN (1789)

【讨论】:

    【解决方案2】:

    要将行(行)转换为列,请使用以下代码:

    SELECT my_column_id,GROUP_CONCAT(my_column_name) FROM my_table GROUP BY my_column_id as All_Columns_Name_Asign_to_Column_id

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2021-06-20
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多