Hi Leute
Ich habe einige Tabellen, einmal etwa die Tabelle user, welche definiert wie User heißen etc., user_tags, welche definiert welche Eigenschaften auf welchen User wie stark zutreffen, events, welche definiert wie welches Event heißt usw., dann event_tags, welche die Eigenschaften eines Events definiert (allerdings nicht die Ausprägung dieser) und zu guter letzt die Tabelle tags, welche Definiert welcher Tag wie heißt (Bildchen + Beschreibung). Hier aber nur die Relevanten Spalten der Tabellen:
= user =
user_id | username
1 _____| testuser
2 _____| usertest
= user_tags =
user_id | tag_id | tag_weight
1 _____| 1___ | 21______
1 _____| 2___ | 50______
1 _____| 3___ | 13 _____
2 _____| 4___ | 30______
2 _____| 5___ | 54______
hier mag der User testuser(1) den Tag 2 offensichtlich mehr als den Tag 1 und Tag 2
= events =
event_id | event_titel | ...
1 _____ | Big Party 1 |...
2 _____ | Testevent 2|...
3 _____ | Testevent 3|...
= event_tags =
event_id | tag_id
1 _____ | 1
1 _____ | 2
2 _____ | 2
3 _____ | 1
3 _____ | 4
3 _____ | 5
= tags =
tag_id | tag_name
1 ____| rock
2 ____| pop
3 ____| dance
4 ____| bar
5 ____| disco
Was möchte ich?
Ich möchte, dass aus den einzelnen Tabellen folgende "Vorschläge" entstehen:
- User 1, würde Event 1 sehr gut gefallen, da das Event seinen am meisten ausgeprägten Tags entspricht: 2 und 1... Multipliziert wäre es das Beste Event für ihn, da sich ergeben würde:
<tag_ausprägung:tag2>+<tag_ausprägung:tag1>=71
- User 2, würde das Event 3 zusagen. Zwar hat dieses einen Tag, der ihm völlig egal ist, aber dafür zwei andere und dazu seine wichtigsten:
<tag_ausprägung:tag5>+<tag_ausprägung:tag4>+<tag_ausprägung:tag3*>=84 __ * wäre = 0
Hoffe ihr versteht was ich mein und könnt mir helfen, mit welcher SQL Query ich das bewerkstelligen könnte?
Vielen Dank!
Ich habe einige Tabellen, einmal etwa die Tabelle user, welche definiert wie User heißen etc., user_tags, welche definiert welche Eigenschaften auf welchen User wie stark zutreffen, events, welche definiert wie welches Event heißt usw., dann event_tags, welche die Eigenschaften eines Events definiert (allerdings nicht die Ausprägung dieser) und zu guter letzt die Tabelle tags, welche Definiert welcher Tag wie heißt (Bildchen + Beschreibung). Hier aber nur die Relevanten Spalten der Tabellen:
= user =
user_id | username
1 _____| testuser
2 _____| usertest
= user_tags =
user_id | tag_id | tag_weight
1 _____| 1___ | 21______
1 _____| 2___ | 50______
1 _____| 3___ | 13 _____
2 _____| 4___ | 30______
2 _____| 5___ | 54______
hier mag der User testuser(1) den Tag 2 offensichtlich mehr als den Tag 1 und Tag 2
= events =
event_id | event_titel | ...
1 _____ | Big Party 1 |...
2 _____ | Testevent 2|...
3 _____ | Testevent 3|...
= event_tags =
event_id | tag_id
1 _____ | 1
1 _____ | 2
2 _____ | 2
3 _____ | 1
3 _____ | 4
3 _____ | 5
= tags =
tag_id | tag_name
1 ____| rock
2 ____| pop
3 ____| dance
4 ____| bar
5 ____| disco
Was möchte ich?
Ich möchte, dass aus den einzelnen Tabellen folgende "Vorschläge" entstehen:
- User 1, würde Event 1 sehr gut gefallen, da das Event seinen am meisten ausgeprägten Tags entspricht: 2 und 1... Multipliziert wäre es das Beste Event für ihn, da sich ergeben würde:
<tag_ausprägung:tag2>+<tag_ausprägung:tag1>=71
- User 2, würde das Event 3 zusagen. Zwar hat dieses einen Tag, der ihm völlig egal ist, aber dafür zwei andere und dazu seine wichtigsten:
<tag_ausprägung:tag5>+<tag_ausprägung:tag4>+<tag_ausprägung:tag3*>=84 __ * wäre = 0
Hoffe ihr versteht was ich mein und könnt mir helfen, mit welcher SQL Query ich das bewerkstelligen könnte?
Vielen Dank!