/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
simpelt Join-problem.
Fra : Kristian Jensen


Dato : 23-02-07 21:18

Puha jeg er ikke vant til at hente data fra 2 tabeller samtidig.

Hvad hedder mysql syntaxen hvis man har een tabel der ser sådan ud:

TABEL1
ID navn ejer



og en anden der ser sådan ud

TABEL2
hold ejer telefon hjemmebane andet

og man gerne vil udtrække tabel2 således at der hvor eks hold = navn
i tabel1 så skal ejeren updateres ind i rækken.

Altså så Tabel2.ejer automatisk bliver updateret hvis navn på holdet
er det samme som i tabel1?

Jeg håber det er forståeligt det jeg skriver.

 
 
Jens Gyldenkærne Cla~ (23-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 23-02-07 22:37

Kristian Jensen skrev:

> Puha jeg er ikke vant til at hente data fra 2 tabeller
> samtidig.

Så vil jeg anbefale at du finder en bog, et hæfte eller en tutorial
om databaser. Det at arbejde med relaterede tabeller (join-
forespørgsler) er en meget central del af det at arbejde med
databaser.

> TABEL1
> ID navn ejer

> TABEL2
> hold ejer telefon hjemmebane andet

Hvad er forholdet mellem tabel1 og tabel2? Hvis du bruger nogle
beskrivende navne, er det lettere at forholde sig til spørgsmålet
(fx "Hold" og "Spillere" eller hvad der nu er dækkende for hvad
tabellerne indeholder).

> og man gerne vil udtrække tabel2 således at der hvor eks hold
> = navn i tabel1 så skal ejeren updateres ind i rækken.

Pas på med at sammenblande begreberne. Udtræk af data er ikke det
samme som opdatering af data.

Hvis Tabel1.navn og Tabel2.hold indeholder samme slags data (fx et
holdnavn), kan du lave et join som følger:

   SELECT *
   FROM TABEL1 t1 INNER JOIN TABEL2 t2
   ON t1.navn = t2.hold

Hvis man så vil opdatere på basis af join-kriteriet, kan man i
MSSQL - og så vidt jeg husker også i MySQL - gøre som følger:

   UPDATE t1
   SET t1.ejer = t2.ejer
   FROM TABEL1 t1 INNER JOIN TABEL2 t2
   ON t1.navn = t2.hold


> Altså så Tabel2.ejer automatisk bliver updateret hvis navn på
> holdet er det samme som i tabel1?

Der er ikke tale om en automatisk opdatering når det er en
forespørgsel du selv kører.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177449
Tips : 31962
Nyheder : 719565
Indlæg : 6408123
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste