I have the following entity:
Project
Having multiple related tables:
Project >-< ProjectAttribute >-< AttributeType
Project >-< ProjectAttribute >-< AttributeValue
Project >-< ProjectTask >------< Task
Project >-< ProjectTask >------< Employee
...
Involving about 15 tables including subjoins.
Now I'm required to find the best matching Projects for a single Project given, by comparing the values and counting the occurrences. e.g. a match of AttributeType and AttributeValue increases the "best match" indicator of a Project by 1.
How can I achieve this?
I think I found out how to query similarities:
I also added a multiplicator to control the impact of similar rows.
The performance isn't the best (~200ms for 235 projects), but it fits my current needs.