Hallo zusammen,
ich habe eine MySQL DB und die Tabelle VorschlagProdukte mit folgendem Aufbau:
- nr
- userid
- produkt
- vorschlagA1
- vorschlagA2
- vorschlagA3
- vorschlagA4
- vorschlagB1
- vorschlagB2
- vorschlagB3
- vorschlagB4
Es geht darum zwei Arten von Produktvorschlägen zu vergleichen. Methode "A" ist die bisherige und "B" die neue. Jetzt möchte ich die Übereinstimmungsquote der Werte von A & B berechnen und diese gestaffelt nach "eine Übereinstimmung vorhanden", "zwei Übereinstimmungen vorhanden", "drei Übereinstimmungen vorhanden" sowie "komplette Übereinstimmung" und eine "Durchschnittliche Übereinstimmung" ausgeben.
Mein bisheriger Ansatz war sowas:
SELECT * FROM `VorschlagProdukte` WHERE `vorschlagA1` = `vorschlagB1` OR `vorschlagA1` = `vorschlagB2` OR `vorschlagA1` = `vorschlagB3` OR `vorschlagA1` = `vorschlagB4`
Gibt es für meine Ausgangssituation ein elegantes SQL Statement? Als Alternative habe ich noch die Möglichkeit jede einzelne Kombination einzeln zu testen, allerdings artet dass dann spätestens bei "drei Übereinstimmungen" z.B. sehr aus.
Vielen Dank schon mal!
ich habe eine MySQL DB und die Tabelle VorschlagProdukte mit folgendem Aufbau:
- nr
- userid
- produkt
- vorschlagA1
- vorschlagA2
- vorschlagA3
- vorschlagA4
- vorschlagB1
- vorschlagB2
- vorschlagB3
- vorschlagB4
Es geht darum zwei Arten von Produktvorschlägen zu vergleichen. Methode "A" ist die bisherige und "B" die neue. Jetzt möchte ich die Übereinstimmungsquote der Werte von A & B berechnen und diese gestaffelt nach "eine Übereinstimmung vorhanden", "zwei Übereinstimmungen vorhanden", "drei Übereinstimmungen vorhanden" sowie "komplette Übereinstimmung" und eine "Durchschnittliche Übereinstimmung" ausgeben.
Mein bisheriger Ansatz war sowas:
SELECT * FROM `VorschlagProdukte` WHERE `vorschlagA1` = `vorschlagB1` OR `vorschlagA1` = `vorschlagB2` OR `vorschlagA1` = `vorschlagB3` OR `vorschlagA1` = `vorschlagB4`
Gibt es für meine Ausgangssituation ein elegantes SQL Statement? Als Alternative habe ich noch die Möglichkeit jede einzelne Kombination einzeln zu testen, allerdings artet dass dann spätestens bei "drei Übereinstimmungen" z.B. sehr aus.
Vielen Dank schon mal!