Oracle équivalent de SQL Server TRUCS fonction?
N'Oracle disposer de sa propre mise en œuvre de SQL Server stuff
fonction?
Trucs vous permet de recevoir une valeur d'un multi ligne. Considérer ma situation ci-dessous
ID HOUSE_REF PERSON
1 A Dave
2 A John
3 B Bob
Je voudrais écrire une instruction select, mais je veux le PERSON
noms dans une seule ligne.
Par exemple, lorsque je sélectionne à partir de ce tableau, je veux atteindre les objectifs suivants
HOUSE_REF PERSONS
A Dave, John
B Bob
Je n'ai pas été en mesure de trouver une solution simple, jusqu'à présent, il peut être un cas de l'écriture de ma propre fonction à utiliser, mais je ne suis pas entièrement sûr de savoir comment aborder cette, des idées?
L'activité principale utilisation de cette, sera d'avoir une instruction select qui affiche chaque maison, et contre la maison pour avoir une colonne qui répertorie tout le monde qui vit dans cette maison. La maison de ref dans cette sélection doit être unique, donc avoir besoin de concaténer les personnes
Grâce
- Vous avez mal compris ce T-SQL
STUFF
n'. Voir la documentation: technet.microsoft.com/en-us/library/ms188043.aspx. Il pourrait être utilisé comme partie d'une solution pour ce que vous êtes en train de faire, mais ce n'est pas la solution en soi. - Pas Oracle liés - mais MySQL dispose d'une fonction appelée GROUP_CONCAT qui semble résoudre le problème décrit ci-dessus.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez écrire une coutume fonction d'agrégation pour ce faire. Cette chaîne vous générez est limitée à 4k caractères.
http://www.sqlsnippets.com/en/topic-11591.html
Il y a un sans-papiers, non prise en charge de la fonction
WMSYS.WM_CONCAT
de faire la même chose.http://www.psoug.org/reference/undocumented.html
Oracle 11.2 comprend une nouvelle fonction LISTAGG pour ce faire.
Avant que vous pourriez utiliser Tom Kyte est STRAGG fonction.
Le "pas de add-ons/pas de sans-papiers, les fonctions de la solution Oracle (avant 11.2 comme Tony mentions) est:
Exécuter ci-dessous les trois fonctions.
Fonction 1
/
fonction 2
fonction 3
après l'exécution de trois fonctions maintenant u peut utiliser stragg comme suit
de sortie: