> > > Hallo, > > ich suche gerade die L�sung f�r folgendes Problem: > > Es gibt eine Tabelle, die die User-Stammdaten enth�lt, und eine f�r > verschiedene Arten der Freizeitgestaltung. Diese sollen nun > so miteinander > verkn�pft werden, dass ich mittels einer SQL-Abfrage die Zahl der > �bereinstimmenden Hobbies zweier User (also die, die am besten > zusammenpassen) herausfinden kann. > > Nat�rlich kann ein User unendlich viele Hobbies haben, > weshalb zumindest > eine Tabelle dazwischen geschaltet werden m�sste. Wie frage ich das am > besten ab, oder gibt es eine bessere L�sung?
Richtig... Da muss eine Tabelle zwischen UserHobbies: UserID HobbyID Zu einem festen User den besten anderen finden m�sste ungef�hr so gehen... (ungetestet) Select userid, count(hobbyID) from hobbies inner join userhobbies on hobbies.hobbyID=userHobbies.hobbyID where hobbies.hobbyID IN (Select hobbyID from hobbies inner join userHobbies on hobbies.hobbyID=userHobbies.hobbyID where userid=?) group by userid > > Wie kann ich beim Abruf eines User-Profils alle Hobbies in eine Zeile > bekommen (nicht mehrere Datens�tze)? Relationale DBs funktionieren nun mal Datensatz-basiert... Wie Du das dann in deiner Applikation ausgibst ist egal, aber Du bekommst es als verschiedene Datens�tze... > > Danke! > > Andreas > Claudius | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
