Alle Attribute zu einem Produkt in der Datenbank finden

Hallo,
suche die Tabelle(n), die die im Screenshot aufgezeigten Produktattribute aufzeigen. Erwarte eigentlich einen Fremdschlüssel in der Tabelle product, der auf die entsprechende Tabelle referenziert, finde aber Keinen. Weiß jemand, in welcher Tabelle folgende Attribute hinterlegt sind und wie sie referenziert werden? Das Query zu formulieren dürfte mir dann schon gelingen.

property_group und property_group_option, Verknüpfung zum Produkt product_property. Es gibt keinen Fremdschlüssel in product, da many-to-many

In der Tabelle property_group gibt es die column sorting_type und display_type, die aber beide immer nur ‚alphanumeric‘ und ‚text‘ aufweisen.

In der Tabelle property_group_option gibt es gar kein varchar

In der Tabelle property_group_option_translation gibt eine column name. Aber folgendes Query ergibt keinen vernünftigen Treffer:

SELECT * FROM `property_group_option_translation` WHERE `name` LIKE '%Werkstoff%';

Und folgendes Query liefert gar keinen Treffer:

SELECT * FROM `property_group_option_translation` WHERE `name` = 'Länge' OR name='Laenge';

Das sind vermutlich die Gruppennamen, nicht die einzelnen Werte, oder? Probier mal

SELECT * FROM `property_group_translation` WHERE `name` LIKE '%Werkstoff%';

Bingo. Folgendes Query liefert folgendes Resultat:

SELECT * FROM `property_group_translation` WHERE `name` = 'Werkstoff';

Resultat:

Mich damit jetzt zurück zu angeln zur Tabelle product wird wohl eine Sisyphusarbeit. Alles was ich vorerst habe ist der FK, der auf property_group verweist. Ich hatte es bereits im vorigen Post erwähnt: Wenn es im Netz ein ER Diagramm der Datenbank gäbe, wäre vieles verständlicher. Ob diese beiden Treffer denselben Produkt zugewiesen sind, ist vorerst jedenfalls nicht zu erkennen…Die Frage, woher Du Deine Kenntnisse der Datenbank hast, wage ich erst gar nicht zu stellen…

Probier mal

SELECT COUNT(DISTINCT pgo.property_group_id) AS counter, p.id, p.product_number, pgt.name 
FROM product p 
LEFT JOIN product_property pp ON p.id=pp.product_id 
LEFT JOIN property_group_option pgo ON pp.property_group_option_id=pgo.id
LEFT JOIN property_group_translation pgt ON pgo.property_group_id=pgt.property_group_id 
WHERE pgt.name = 'Werkstatt'
GROUP BY p.id
HAVING counter > 1;

@Anotherone:
Das passt soweit. Allerdings, wie oben erwähnt, mit Werkstoff, nicht mit Werkstatt. Vielen Dank für Deine Hilfe! Kannst Du mir bzgl. einer letzten Anfrage noch weiterhelfen? Ich veröffentliche die Anfrage wie gewohnt in Forum und zolle Dir höchsten Respekt für Deine Kenntnisse!! Werde diesen Thread heute Abend als gelöst markieren, damit Du diesen meinen letzten Post noch durchlesen kannst…
Änderte das Query wie folgt ab, da ich mit den Aliasen Probleme habe. Hoffe, du nimst mir das nicht übel, schließlich ist es Dein Werk!

SELECT COUNT(DISTINCT property_group_option.property_group_id) AS counter, product.id, product_number, property_group_translation.name 
FROM product  
LEFT JOIN product_property ON product.id=product_property.product_id 
LEFT JOIN property_group_option ON product_property.property_group_option_id=property_group_option.id
LEFT JOIN property_group_translation ON property_group_option.property_group_id=property_group_translation.property_group_id 
WHERE property_group_translation.name = 'Werkstoff'
GROUP BY product.id
HAVING counter >= 1;

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.