webForumDet fria alternativet

Relationsdatabas

4 svar · 183 visningar · startad av M@rtin

M@rtinMedlem sedan dec. 19992 085 inlägg
#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 :)

------------------
//M@rtin || Peachy.nu\\

Sue Me!

VideMedlem 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

------------------
Jourhavande Vide

LarsGMedlem 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'

------------------
essentitia preter non sans multiplicandum

M@rtinMedlem 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?

------------------
//M@rtin || Peachy.nu\\

Sue Me!

LarsGMedlem 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.

------------------
essentitia preter non sans multiplicandum

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)