Datenbanknormalisierung ist für eine effiziente Datenverwaltung von entscheidender Bedeutung, aber manchmal erfordern Projekte möglicherweise Legacy-Daten in nicht-normalisierter Form. In diesem Artikel werden in einer bestimmten Spalte eine Technik zum Beitritt zu zwei Tabellen mit von Kommas getrennten Werten untersucht. ID
forDepts: Comma-separated department IDs
Lösung unter Verwendung von concat_ws:
A.Nid, A.NID, A.NID, A.NID, Group_Concat (B.Name Order von B.Id) als Abteilungsname Aus Notizen a Innere Join -Positionen b Auf find_in_set (b.id, a.fordepts)> 0 Gruppe von A.Nid Die Funktion find_in_set prüft, ob in einer von Comma getrennten Zeichenfolge ein Wert vorhanden ist. Indem wir es in der Join -Bedingung verwenden, stellen wir sicher, dass alle Übereinstimmungspositionen enthalten sind. Die Gruppe Group_Concat verkettet die abgerufenen Positionsnamen, die von Commas getrennt sind.
SELECT n.nid, CONCAT_WS(', ', p.name) AS DepartmentName FROM Notes n JOIN Positions p ON n.forDepts = p.idPHP -Code -Integration:
Der angegebene Php -Code kann geändert werden, um die erweiterte Abteilungsname -Spalte abzurufen, indem die Abfragebeding in der MySQL_Query -Anweisung mit der obigen Lösung abgerufen wird. Auf diese Weise kann der Code die von Kommas getrennten Positionsnamen korrekt exportieren.
Hinweis:SELECT n.nid, CONCAT_WS(', ', p.name) AS DepartmentName FROM Notes n JOIN Positions p ON n.forDepts = p.idWährend es ideal ist, Datenbanken zu normalisieren, ist manchmal nicht vergleichbare Daten erforderlich. Die in diesem Artikel diskutierten Techniken bieten eine Lösung, um Tabellen effizient zu verbinden und in solchen Szenarien getrennte Werte zu aggregieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3