Dans Oracle, la fonction colonne à ligne est la fonction "unpivot()", qui est utilisée pour convertir les données de la table de colonne en ligne. La syntaxe est "unpivot (nom de colonne personnalisé, valeur de colonne pour nom de colonne personnalisé, nom de colonne). dans (listé))".
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
La fonction colonne à ligne d'Oracle est la fonction unpivot()
L'exemple est le suivant :
Table originale
with temp as( select '四川省' nation ,'成都市' 第一,'绵阳市' 第二,'德阳市' 第三,'宜宾市' 第四 from dual union all select '湖北省' nation ,'武汉市' 第一,'宜昌市' 第二,'襄阳市' 第三,'' 第四 from dual ) select nation,name,title from temp unpivot (name for title in (第一,第二,第三,第四))t
Description : unpivot (nom de colonne personnalisé/* valeur de colonne*/ pour nom de colonne personnalisé/*nom de colonne*/ dans (nom de colonne))
L'exemple est le suivant :
Les données d'origine sont les suivantes :
Et le résultat que je souhaite obtenir est le suivant :
SQL :
select class_name, student_name, course_type, result, created_date from class_tmp unpivot(result for course_type in(chinese_result,math_result));
Les noms de colonne de la colonne Chinese_result et de la colonne math_result des données d'origine seront convertis en valeur de champ de la nouvelle colonne course_type, indiquant le type de cours.
Les valeurs de champ de la colonne Chinese_result et de la colonne math_result des données d'origine seront converties en valeurs de champ de la nouvelle colonne de résultat, représentant les scores.
Tutoriel recommandé : "Tutoriel vidéo Oracle"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!