Consolidation de plusieurs lignes en une seule ligne dans Oracle SQL
Oracle SQL propose plusieurs méthodes pour combiner plusieurs lignes en une seule. Une approche utilise la fonction WM_CONCAT
(remarque : obsolète dans Oracle 12c et versions ultérieures). WM_CONCAT
concatène les valeurs de plusieurs lignes dans une colonne spécifique :
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
Pour les versions Oracle où WM_CONCAT
n'est pas disponible, une fonction d'agrégation personnalisée fournit une solution viable. Des conseils détaillés sur la création d’une telle fonction pour l’agrégation de chaînes peuvent être trouvés sur des ressources telles que Oracle-base.com. Un exemple basique :
<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2; -- Function implementation details here</code>
Cette fonction personnalisée permet l'agrégation de valeurs de chaîne :
<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>
Les fonctions d'agrégation WM_CONCAT
(le cas échéant) et personnalisées consolident efficacement plusieurs lignes en une seule, présentant les données de manière plus concise et organisée.
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!