J'ai deux colonnes dans la base de données Oracle Je souhaite retirer les données telles que je vais obtenir des données à la suite P> +---------+---------+
| Column1 | Column2 |
+---------+---------+
| A | 1,2 |
+---------+---------+
4 Réponses :
Tim Hall a une jolie liste canonique de Techniques d'agrégation de chaîne dans Oracle .
Quelle technique que vous utilisez dépend d'un certain nombre de facteurs, y compris la version d'Oracle et si vous recherchez une solution purement SQL. Si vous utilisez Oracle 11.2, je vous suggérerais probablement d'utiliser si vous utilisez une version antérieure d'Oracle, en supposant que tu ne fais pas " T Besoin d'une solution purement SQL, je préférerais généralement utiliser le Fonction d'agrégate définie par l'utilisateur approche. P> p> listagg code> p>
Justin, cette requête serait-elle fonctionner si nous devons regrouper sur plusieurs colonnes s'il vous plaît? Merci.
@JIMMY - Oui, ça devrait.
Détails supplémentaires à docs.oracle.com/cd/e11882_01 /Server.112/e10592/...
Si vous avez 10 g, vous devez ensuite passer la fonction ci-dessous:
SELECT col1, GROUP_CONCAT(col2) FROM table_name GROUP BY col1
sur ma version Oracle 10 Il fait le travail:
SELECT column1, wm_concat( column2) FROM table_name GROUP BY column1
Toutes les réponses Abow sont correctes forte> et je veux ajouter un cas pour résoudre un faible problème. Dans mon cas my_column1 code> type était
nvarchar2 code> mais texte était
numéro code> et le code ci-dessous ne fonctionne pas et ne m'affiche que WhitSpace:
select group_id, listagg( to_char(t.my_column1) || '-' || to_char(t.doc_date,'dd.mm.yyyy') || ' ') within group(order by doc_date)
from my_table t
group by group_id
J'ai modifié votre question pour voir les lignes en mode code, pouvez-vous confirmer que c'est ce que vous vouliez dire ... oups, bluefeet trompa mes modifications.
Dupliqué possible de Valeurs de colonne d'une ligne
Dupliqué possible de Construire une virgule séparée Liste des valeurs dans une instruction Oracle SQL
"S'il vous plaît me fournir la solution." joli