MySQL nimmt die durch Kommas getrennten Werte aus einem Feld heraus, um ein neues Feld zu bilden

MySQL nimmt die durch Kommas getrennten Werte aus einem Feld heraus, um ein neues Feld zu bilden

1Beispiel: Um die in Abbildung 1 gezeigten Felder in Abbildung 2 aufzuteilen

Wählen Sie die Konto-ID aus.
    Teilstring_index(Teilstring_index(a.related_shop_ids,','
    ,b.help_topic_id+1),',',-1) Shop-ID
  aus 
    sales_hang_account ein
  verbinden
    mysql.help_topic b
    ein b.help_topic_id < (Länge(a.related_shop_ids) – Länge(ersetzen(a.related_shop_ids,',',''))+1) 
  Bestellung nach a.account_id

2: Verbinden Sie sich dann mit der Tabelle „shops“, um die benötigten Felder abzufragen und zu extrahieren. Hier muss ich den Namen extrahieren

Wählen Sie s.`name` als Shopname,a.account_id aus den Shops s
innerer JOIN (

Wählen Sie die Konto-ID aus.
    Teilstring_index(Teilstring_index(a.related_shop_ids,','
    ,b.help_topic_id+1),',',-1) Shop-ID
  aus 
    sales_hang_account ein
  verbinden
    mysql.help_topic b
    ein b.help_topic_id < (Länge(a.related_shop_ids) – Länge(ersetzen(a.related_shop_ids,',',''))+1) 
  Bestellung nach a.account_id)a auf s.shop_id=a.shopid 

3: Kombinieren Sie die gleiche Konto-ID in einer Zeile, getrennt durch Kommas

//Dies sind zwei Beispiele aus dem Internet: select ID, group_concat(NAME) as NAME from table group by ID;

Wählen Sie ID,group_concat(NAME SEPARATOR ';') als NAME aus einer Gruppe nach ID;
//Mithilfe der beiden obigen Referenzen select account_id,GROUP_CONCAT(shopname SEPARATOR',')as shopname from (select s.`name` as shopname,a.account_id from shops s
innerer JOIN (

Wählen Sie die Konto-ID aus.
    Teilstring_index(Teilstring_index(a.related_shop_ids,','
    ,b.help_topic_id+1),',',-1) Shop-ID
  aus 
    sales_hang_account ein
  verbinden
    mysql.help_topic b
    ein b.help_topic_id < (Länge(a.related_shop_ids) – Länge(ersetzen(a.related_shop_ids,',',''))+1) 
  bestellen nach a.account_id)a auf s.shop_id=a.shopid) eine GRUPPE NACH account_id

Die Wirkung ist wie folgt

Zweite Methode

wähle g.account_id, g.related_shop_ids, GROUP_CONCAT(s.name) als Shopnamen aus sales_hang_account g left, schließe dich Shops s an bei FIND_IN_SET(s.shop_id , g.related_shop_ids)
GROUP BY g.account_id 

SQLServer

 [Produkt] - Das Speicherformat dieses Felds ist 7,8,9,11,10,12 und der Datentyp ist nvarchar
Wählen Sie ID, ProductName=stuff((Wählen Sie ',' + product_chinaname aus base_supplier_product, wobei charindex(','+ltrim(productid)+',',','+ Product + ',') > 0 für XML-Pfad('') ), 1, 1, '')
 FROM Basis-Vorverkaufsprojekt

Ergebnis

Dies ist das Ende dieses Artikels zum Extrahieren von durch Kommas getrennten Werten aus einem Feld in MySQL, um ein neues Feld zu bilden. Weitere Informationen zu durch Kommas getrennten Werten in MySQL-Feldern finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Zwei Methoden der MySql-Kommaverkettungs-Stringabfrage
  • Mysql-Abfrageanweisung zum Abrufen der ersten Daten des Kommas im Feldwert
  • So verwenden Sie Kommatrennzeichen in MySQL-Feldern
  • So konvertieren Sie eine Spalte mit durch Kommas getrennten Werten in Spalten in MySQL

<<:  Implementierung der Fastdfs+Nginx-Clusterkonstruktion

>>:  Detaillierte Erklärung der integrierten Methoden des Javascript-Arrays

Artikel empfehlen

Verwendung und Prinzipien von Provide und Inject in Vue3

Vorwort: Beim Übergeben von Daten zwischen überge...

Schritte zur Annotation von Metadeklarationen

Schritte zur Annotation von Metadeklarationen: 1. ...

Führen Sie die folgenden Schritte aus, um Vue-Router in Vue3 zu verwenden

Vorwort Die Verwaltung des Routings ist eine wese...

Redo-Dateiwartungsmethode der InnoDB-Engine

Wenn Sie die Größe und Anzahl der InnoDB-Redo-Log...

Nginx' praktische Methode zur Lösung domänenübergreifender Probleme

Trennen Sie Front- und Backend und lösen Sie domä...

Über das Problem der Offline-Installation des Docker-Pakets unter CentOS 8.4

Die verwendete virtuelle Maschine ist CentOS 8.4,...

Detaillierte Erläuterung des Befehls zum Bereinigen des MySQL-Datenbank-Binlogs

Überblick Heute werde ich hauptsächlich erklären,...

5 JavaScript-Möglichkeiten zum Abflachen von Arrays

Inhaltsverzeichnis 1. Konzept der Array-Abflachun...

So konvertieren Sie ein JavaScript-Array in eine Baumstruktur

1. Nachfrage Das Backend stellt solche Daten bere...

Detaillierte Erklärung der Docker-Einstiegspunktdatei

Schließen Sie beim Schreiben einer Docker-Datei e...