Heim > Datenbank > MySQL-Tutorial > Wie verkettet man Eins-zu-Viele-Beziehungen in eindeutigen Spalten in Informix?

Wie verkettet man Eins-zu-Viele-Beziehungen in eindeutigen Spalten in Informix?

Patricia Arquette
Freigeben: 2025-01-01 11:22:10
Original
678 Leute haben es durchsucht

How to Concatenate One-to-Many Relationships into Unique Columns in Informix?

Eins-zu-viele-Beziehungen als eindeutige Spalten in Informix verketten

Das Konvertieren von eins-zu-vielen-Beziehungen in zwei eindeutige Spalten erfordert eine spezielle Datenbank Funktionen und Syntax. In dieser Frage wird untersucht, wie diese Konvertierung mithilfe von Informix SQL erreicht werden kann, ähnlich dem in den referenzierten StackOverflow-Fragen beschriebenen Ansatz.

Benutzerdefinierte Aggregatfunktion

Die vorgeschlagene Lösung umfasst Erstellen einer benutzerdefinierten Aggregatfunktion namens group_concat. Diese Funktion verwendet vier Unterfunktionen:

  • gc_init: Initialisiert die leere Zeichenfolge.
  • gc_iter: Hängt Werte iterativ an die Zeichenfolge an, getrennt durch Kommas.
  • gc_comb : Kombiniert Teilergebnisse, die aus verschiedenen Partitionen generiert wurden.
  • gc_fini: Gibt die endgültige verkettete Zeichenfolge zurück.

Abfrage zur Verkettung

Um die Codes für jede eindeutige ID zu verketten, führen Sie die folgende Abfrage aus:

SELECT id, group_concat(codes)
FROM anonymous_table
GROUP BY id;
Nach dem Login kopieren

Beispieltabelle und Ergebnisse

Die Beispieltabelle Anonymous_table enthält doppelte Codes für mehrere IDs. Die Ausgabe der Abfrage liefert das gewünschte Ergebnis:

id    codes
63592 PELL
58640 SUBL, USBL
73571 PELL, USBL, SUBL
Nach dem Login kopieren

Hinweise

  • Das Aggregat „group_concat“ kann jeden Datentyp verarbeiten, der in VARCHAR(255) konvertierbar ist. wie numerische und zeitliche Typen.
  • Die Aggregatgröße ist standardmäßig auf 2048 Bytes begrenzt (bis zu 16380 Bytes in Informix 12.10.FC5), was zu potenziellen Einschränkungen für umfangreiche Daten führt.
  • Um die Aggregatfunktion zu entfernen, verwenden Sie die bereitgestellten Drop-Befehle.

Das obige ist der detaillierte Inhalt vonWie verkettet man Eins-zu-Viele-Beziehungen in eindeutigen Spalten in Informix?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage