/ 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
At lave en relation mellem to tabeller i M~
Fra : Jonas Voss


Dato : 23-07-02 21:27

Jeg har et problem, jeg vil gerne lave en relation mellem to tabeller i
en MySQL database, og jeg er bange for at det bare er saa nemt og
aabenlyst
at jeg ikke kan se tabellerne for bare felter.

Som sagt, jeg har to tabeller, den ene indeholder oplysninger om et
bestemt nummer af en musiker/gruppe og ser saaledes ud:

tabel 1:
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| o_id | int(11) | | PRI | NULL | auto_increment |
| oalbum | varchar(75) | | | | |
| otune | varchar(75) | | | | |
| orel | year(4) | | | 0000 | |
| olabel | varchar(50) | | | | |
+---------+-------------+------+-----+---------+----------------+

Den anden indeholder oplysninger om et andet nummer af en bestemt
musiker/kunstner og indeholder felter med enslydende specifikationer som
ovenstaaende, blot med andre navne.

Til en post i tabel 1 kan der godt vaere knyttet flere poster i tabel 2,
saa det er en een-til-mange relation jeg skal have lavet. Jeg vil gerne
kunne lave udtraek fra databasen, hvor man kan faa alle forekomster
i tabel 2 der er knyttet til een bestemt forekomst i tabel 1, og jeg kan
simpelthen ikke gennemskue hvordan jeg skal goere.

Jeg har kigget hoejt og lavt efter en forklaring hos mysql.com og
diverse developersider, men der staar ikke rigtig nogen forklaring paa
det, de antager bare at man lige laver en relation, saadan ding-woosh.

Nogen der har nogle tips til hvordan man kan goere?

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

 
 
Jeppe Vesterbæk (23-07-2002)
Kommentar
Fra : Jeppe Vesterbæk


Dato : 23-07-02 23:21

Er ikke helt sikker på, at jeg har forstået det rigtigt, og er heller ikke
den skarpeste til SQL, but here goes.

hvis 'a' er din 'tabel 2' (mange-siden) og 'b' er din 'tabel 1' (en-siden).
Går ud fra at o_id er primærnøgle i begge tabeller


$strSQL = "SELECT a.*, b.* FROM tabel1 a LEFT JOIN tabel2 b ON a.o_id =
b.o_id";

$result = mysql_query($strSQL);
while ($myrow = mysql_fetch_array($result)){
yadadada.... lav noget
}



Jonas Voss (25-07-2002)
Kommentar
Fra : Jonas Voss


Dato : 25-07-02 21:52

"Jeppe Vesterbæk" <jhv38731[REMOVE-XXXXXXXXXX]@but.auc.dk> writes:

> Er ikke helt sikker på, at jeg har forstået det rigtigt, og er heller ikke
> den skarpeste til SQL, but here goes.

Tak for forslaget, har ikke proevet det endnu, men jeg er ret sikker paa
du har ret.


--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste