Maison  >  Article  >  base de données  >  Qu'est-ce que la fonction colonne à ligne d'Oracle ?

Qu'est-ce que la fonction colonne à ligne d'Oracle ?

WBOY
WBOYoriginal
2022-01-26 10:53:5515923parcourir

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é))".

Qu'est-ce que la fonction colonne à ligne d'Oracle ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Qu'est-ce que la fonction colonne à ligne d'Oracle ?

La fonction colonne à ligne d'Oracle est la fonction unpivot()

L'exemple est le suivant :

Table originale

Quest-ce que la fonction colonne à ligne dOracle ?

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

Quest-ce que la fonction colonne à ligne dOracle ?

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 :

Quest-ce que la fonction colonne à ligne dOracle ?

Et le résultat que je souhaite obtenir est le suivant :

Quest-ce que la fonction colonne à ligne dOracle ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn