webForumDet fria alternativet
Logga in / Bli medlem

Relationsdatabas

ASP

4 svar · 183 visningar · startad av M@rtin

Medlem sedan dec. 19992 085 inlägg
Trådstart#1

Jag håller på och förbättrar min community och funderade över hur jag ska lagra kompis-relationer smartast. Jag tänkte att det vore bäst med en relationsdatabas (eller tabell) där man skriver in två namn.
Asså typ "Namn1" och "Namn2" så om jag blir kompis med t.ex. Vide så står det "M@rtin" i Namn1 och "Vide" i Namn2. Så långt är det ju inga problem. Men hur göra jag för att lista vilka man är kompis med?
Jag måste ju på något sätt göra en SELECT sats som söker igenom båda fälten efter namnet "M@rtin" om det är min kompisar den ska visa. Men hur skriver man en sån SELECT sats och hur ska jag veta om den jag är kompis med finns i Namn1 eller Namn2? Jag kunde ju lägga en if sats som kollar att Namn1 inte innehåller "M@rtin" men det blir väl lite väl segt eller?

Har ni bättre förslag på hur man ska lösa relationsproblemet så får ni gärna komma med dem :)

Medlem sedan dec. 19998 577 inlägg
#2

Jag har löst det med att använda idnummret på användaren istället för namnet...

För att lista alla dina kompisar så tar du bara i wehere-satsen och lägger in "where Id_1 = "& ID

där ID är ditt användarID...

Mvh, Vide

Medlem sedan dec. 200012 464 inlägg
#3

För att lösa själva select-frågan kan man använda en union

  select namn1,namn2
     from tabell
    where namn1 = 'M@artin'
  union 
    select namn2,namn1 
      from tabell
     where namn2 = 'M@rtin'
Medlem sedan dec. 19992 085 inlägg
#4

Okej, tack!
Inte säker på Vides grej riktigt. Det spelar väl ingen roll om man kör med id eller användarnamn?

Medlem sedan dec. 200012 464 inlägg
#5

Nackdelen med att ha namn som primärnyckel är att det blir svårare att byta namn. Om du har en tabell där du kopplar ihop id och namn så är det den enda man behöver uppdatera om man skall byta namn.

254 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)