Ich habe eine Produktteiletabelle wie diese: Teil Teile-ID Teiletyp Produkt-ID -------------------------------------- 1A1 2 B 1 3A2 4 B 2 5A3 6 B 3 Ich möchte eine Abfrage, die eine Tabelle wie diese zurückgibt: Produkt-ID Teil-A-ID Teil-B-ID ---------------------------------------- 1 1 2 2 3 4 3 5 6 In der tatsächlichen Umsetzung wird es Millionen von Produktteilen geben 1 Antworten Leider besitzt MySQL keine PIVOT-Funktion, aber Sie können sie mithilfe von Aggregatfunktionen und einer CASE-Anweisung modellieren. Für eine dynamische Version müssen Sie eine vorbereitete Anweisung verwenden: SET @sql = NULL; WÄHLEN GROUP_CONCAT(DISTINCT KONKAT( 'max(Fall wenn Teiltyp = ''',Teiltyp,''' dann Teil-ID Ende) AS Teil_','_id' ) ) IN @sql AUS Teile; SET @sql = CONCAT('SELECT Produkt-ID,',@sql,' VON Teilen GRUPPE NACH Produkt-ID'); Anweisung VORBEREITEN VON @sql; Anweisung ausführen; DEALLOCATE PREPARE-Anweisung; Wenn Sie nur wenige Spalten haben, können Sie die statische Version verwenden: Wählen Sie product_id,max (Fall wenn part_type ='A' dann part_id Ende) als Part_A_Id,max (Fall wenn part_type ='B' dann part_id Ende) als Part_B_Id aus Teilen Gruppieren nach Produkt-ID Zusammenfassen Das Obige ist der gesamte Inhalt der dynamischen MySQL-Perspektive, der von 123WORDPRESS.COM für Sie zusammengestellt und organisiert wurde. Ich hoffe, dieser Artikel kann Ihnen bei der Lösung der in der dynamischen MySQL-Perspektive auftretenden Programmentwicklungsprobleme helfen. Das könnte Sie auch interessieren:
|
<<: Erläuterung des React+TypeScript-Projektaufbaufalls
>>: So aktualisieren Sie alle Python-Bibliotheken in Ubuntu 18.04 auf einmal
1. Laden Sie das MySQL 5.7-Installationspaket von...
Auf dem Server läuft ein Taskprozess. Wenn wir ih...
Vorbereitung Zuerst müssen Sie nodejs herunterlad...
Ich habe gerade einen von JunChen verfassten Beitr...
Wie unten dargestellt: Name beschreiben Zeichen v...
1. Zusammensetzung und verwandte Konzepte der MyS...
Inhaltsverzeichnis 1. Ressourcen und Konstruktion...
Allgemeine utf8mb4-Sortierregeln in MySQL sind: u...
Hintergrund: Da die Projekte des Unternehmens dem...
Nun, vielleicht sind Sie ein Design-Guru, oder vie...
Das Zusammenführen von Zeilen- und Feldergebnisse...
Vorwort Relationale Datenbanken werden eher zu Sy...
Wenn Sie den Datumswähler kapseln, müssen Sie die...
Founder Type Library ist eine Schriftbibliothek, ...
Vorwort Verwenden Sie js, um einen Jahresrotation...