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
Inhaltsverzeichnis 1. Docker installieren 2. Sona...
Dieser Artikel stammt ursprünglich von 123WORDPRE...
Herunterladen Download-Adresse: https://dev.mysql...
1. Vue – Das erste Vue-CLI-Programm Die Entwicklu...
Einführung in XHTML-Tags <br />Vielleicht is...
Vorwort Ich bin kürzlich bei der Arbeit auf diese...
<br />Ich habe mir heute die neu gestaltete ...
In diesem Artikel wird der spezifische Code der r...
In diesem Tutorial verwenden wir für die Installa...
Dieser Artikel beschreibt die MySQL-Einzeltabelle...
Die EXPLAIN-Anweisung liefert Informationen darüb...
Effektbild: html: <div class='site_bar'...
Verwenden Sie JavaScript, um eine Webseitenuhr zu...
Inhaltsverzeichnis Was ist MySQL NDB Cluster? Vor...
1.Befehl nicht gefunden Befehl nicht gefunden 2. ...