Vinnaren i pepparkakshustävlingen!
2012-01-08, 22:09
  #1
Medlem
truperts avatar
Hello,

Varför finns det ingen tråd med "små frågor/hjälp med selektion" (vad säger man egentligen?)

Ska i vilket fall som helst ha ut följande saker..
Har 4 tabeller:
pappor, döttrar, söner
Det alla innehåller namn samt en mamma/fru.
Ex
pappor
Eva | Lars
Eva | Kent
Lena | Janne
Lena | Jens

döttrar
Eva | Jenny
Eva | Lisa
Lena | ...
osv osv

Ska få ut de på följande vis är
Mamma, pappa, barn
Eva | Lars | Jenny
Eva | Lars | Lisa
Eva | Janne | Johan

Mamman kan alltså förekomma flera gånger, pappan kan förekomma flera gånger, men barnet kan bara förekomma en gång.

Hur ska jag få ut detta? Finns inget gemensamt unikt värde i varje då mammas namn kan förekomma flera gånger. Alltså funkar inte en join?

select pappor.mammaNamn, pappor.pappaNamn
from pappor
join döttrar
on pappor.mammaNamn=döttrar.mammaNamn

Detta ger mig en utskrift på alla mammor, med alla pappor och alla döttrar och inte bara deras specifika.

Om något är otydligt ska jag försöka bättre
Citera
2012-01-08, 22:20
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av trupert
Hello,

Varför finns det ingen tråd med "små frågor/hjälp med selektion" (vad säger man egentligen?)

Ska i vilket fall som helst ha ut följande saker..
Har 4 tabeller:
pappor, döttrar, söner
Det alla innehåller namn samt en mamma/fru.
Ex
pappor
Eva | Lars
Eva | Kent
Lena | Janne
Lena | Jens

döttrar
Eva | Jenny
Eva | Lisa
Lena | ...
osv osv

Ska få ut de på följande vis är
Mamma, pappa, barn
Eva | Lars | Jenny
Eva | Lars | Lisa
Eva | Janne | Johan

Mamman kan alltså förekomma flera gånger, pappan kan förekomma flera gånger, men barnet kan bara förekomma en gång.

Hur ska jag få ut detta? Finns inget gemensamt unikt värde i varje då mammas namn kan förekomma flera gånger. Alltså funkar inte en join?

select pappor.mammaNamn, pappor.pappaNamn
from pappor
join döttrar
on pappor.mammaNamn=döttrar.mammaNamn

Detta ger mig en utskrift på alla mammor, med alla pappor och alla döttrar och inte bara deras specifika.

Om något är otydligt ska jag försöka bättre
Det förstår jag, du får en kartesisk join eftersom det inte finns specificerat nånstans i din modell vad jag kan se vilken pappa som är far till vilken dotter. Hur håller du reda på den relationen?
Citera
2012-01-08, 22:41
  #3
Medlem
truperts avatar
Citat:
Ursprungligen postat av Proton
Det förstår jag, du får en kartesisk join eftersom det inte finns specificerat nånstans i din modell vad jag kan se vilken pappa som är far till vilken dotter. Hur håller du reda på den relationen?
Jaa jag tänker ju såhär i mitt huvud.

Plocka ut alla mammor och pappor.
Eva | Lars
Eva | Kent
... | ...
Plocka ut alla mammor och döttrar.
Eva | Jenny
Eva | Lisa
... | ...
Lägga ihop Mamman och pappan och deras gemensamma barn.
Eva | Lars | Jenny
Eva | Kent | Lisa

Kanske ska använda sig av en temporär tabell? Där man kan använda sig av en "familj".
Familj1 | Eva | Lars | Jenny
Familj1 | Eva | Lars | Johan
Familj2 | Eva | Kent | Lisa
... | ... | ... | ...

Då kan man skapa Familj1 av mamma1 och pappa1, sen lägga på barnen.
Sen skapar man en familj av mamma1 och en ev. pappa2. Shit blir bra rörigt i huvudet just nu. Grejen är ju att allt tabellerna har gemensamt är mamman.

Mamman kan ju förekomma flera gånger, pappan kan förekomma flera gånger, men barnen är ju unika.
Citera
2012-01-09, 07:10
  #4
Moderator
Protons avatar
Citat:
Ursprungligen postat av trupert
Jaa jag tänker ju såhär i mitt huvud.

Plocka ut alla mammor och pappor.
Eva | Lars
Eva | Kent
... | ...
Plocka ut alla mammor och döttrar.
Eva | Jenny
Eva | Lisa
... | ...
Lägga ihop Mamman och pappan och deras gemensamma barn.
Eva | Lars | Jenny
Eva | Kent | Lisa

Kanske ska använda sig av en temporär tabell? Där man kan använda sig av en "familj".
Familj1 | Eva | Lars | Jenny
Familj1 | Eva | Lars | Johan
Familj2 | Eva | Kent | Lisa
... | ... | ... | ...

Då kan man skapa Familj1 av mamma1 och pappa1, sen lägga på barnen.
Sen skapar man en familj av mamma1 och en ev. pappa2. Shit blir bra rörigt i huvudet just nu. Grejen är ju att allt tabellerna har gemensamt är mamman.

Mamman kan ju förekomma flera gånger, pappan kan förekomma flera gånger, men barnen är ju unika.
Men det besvarar ju inte frågan hur du håller reda på vilken kombination av mamma och pappa som har det unika barnet, right?

Hur håller du reda på vilken kombination av mamma och pappa som har ett gemensamt barn? Eller krävdes det bara en mamma för ett barn den här gången? Senast jag kollade krävdes det för att få barn på naturlig väg en mor och en far

Som din tabell är uppbyggd nu kommer du aldrig kunna tala om att "Jenny" är dotter till eva och lars, det kan lika gärna vara eva och kent som är föräldrarna till Jenny. Av den anledningen får du ut en salig röra av kloner får man anta, eftersom de inte har någon pappa?
Citera
2012-01-09, 08:44
  #5
Medlem
gadzooxs avatar
Jag tycker det är en konstig tabellstruktur. Vilken tabell skall Jenny (dotter) placeras i om hon får en son? Skall hon flyttas till mamma-tabellen (och därmed förlora sina föräldrar) eller skall hon klonas?

Varför inte lägga alla personer i samma tabell, ge dem ett unikt ID, och sedan knyta ihop deras relationer mha ID på annat sätt?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback