Anfängerfrage zu MySQL/WordPress

flipmode85

Benutzer
Beiträge
9
Hallo!

meine schlauen Bücher helfen mir an dieser Stelle leider nicht weiter, sicherlich stünde die Lösung auf einer der unzähligen Seiten - mir fehlt jedoch der Durchblick.

Es geht um 4 Tabellen (WordPress Taxonomy) welche zueinander in Verbindung stehen. Drei Tabellen lassen sich durch vorhandene ID's zuordnen, in einer Tabelle jedoch ist der Wert der abzugleichenden Einträge mit einem Präfix "pa_" aubgelegt.

Meine Lösung dafür ist sicherlich nicht die beste. Nachfolgend ein sqlfiddle welches die Situation inkl. meiner erarbeiteten Abfrage veranschaulicht. Die Lösung über GROUP_CONCAT gefällt mir nicht besonders, am liebsten hätte ich für die Werte welche mit Group_Concat zusammengefasst werden je ein Object mit der ID und dem Namen.

SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.

Vielleicht kann jemand helfen und mir einen Tipp geben?

Die Tabelle term_taxonomy und woocommerce_attribute_taxonomies werden über color und pa_color einander zugeordnet. Das hatte ich via Concat gelöst, im sqlfiddle fehlt dies weil ich unsicher bin ob Concat und GROUP_Concat die performance berinträchtigen?
 
Werbung:
Dein SQL ist falsch in mehreren Dingen:

  • Du vergleichst Äpfle mir Birnen, bzw. Integer mit Strings, und zwar hier: "ON wct.attribute_id = tm.meta_"
  • Du aggregierst, ohne ausreichend zu gruppieren

MySQL ist, zumindest beim zweiten Punkt, vermutlich aber auch beim ersten, blind, und liefert Dir statt einer Fehlermeldung ein (vermutlich) falsches Resultat.
 
Zurück
Oben