/ 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
[mySQL] Udtrække information fra én databa~
Fra : Jesper H


Dato : 26-06-06 09:45

Hej NG

Jeg er normalt vant til at lave simple queries til en mySQL-database,
men har tænkt på at prøve med noget lidt mere avanceret. Følgende
query virker ikke, men giver måske en idé om hvad jeg prøver at
opnå:
SELECT hist.titel, hist.tekst, hist.hilsen, hist.kreds, (SELECT
hjemmeside FROM kredse WHERE kredse.navn = hist.kreds LIMIT 1) as
hjemmeside FROM hist LIMIT 1;

Jeg ønsker altså at udtrække en mængde informationer fra databasen
'hist'. Denne har et felt, der hedder `kreds`. `kreds` er _muligvis_
repræsenteret i en anden database 'kredse' under `navn`, og hvis den
er, ønsker jeg at få returneret `hjemmeside` fra den række i
'kredse'.

Jeg ved godt, det mest åbenlyse måske var at lave to queries - ét
til udtrækning af data fra 'hist', og bagefter ét til udtrækning af
data fra 'kredse', men jeg vil gerne forsøge at få lidt mere indsigt
i SQL.

Jeg kører forresten mySQL 4.0.18-max, og kan ikke ændre dette.

På forhånd tak for hjælpen

Mvh
Jesper


 
 
Peter Brodersen (26-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 26-06-06 10:59

On 26 Jun 2006 01:45:04 -0700, "Jesper H" <jesper.haukrogh@gmail.com>
wrote:

>Jeg ønsker altså at udtrække en mængde informationer fra databasen
>'hist'. Denne har et felt, der hedder `kreds`. `kreds` er _muligvis_
>repræsenteret i en anden database 'kredse' under `navn`, og hvis den
>er, ønsker jeg at få returneret `hjemmeside` fra den række i
>'kredse'.

Du har blot brug for en LEFT JOIN. Fx:

SELECT hist.titel, hist.tekst, hist.hilsen, hist.kreds,
kredse.hjemmeside
FROM hist
LEFT JOIN kredse ON kredse.navn = hist.kreds
LIMIT 1

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Jesper H (26-06-2006)
Kommentar
Fra : Jesper H


Dato : 26-06-06 11:24

Wauv, det virkede i første hug

Jeg kan svagt huske at have hørt om LEFT JOIN før, har bare ikke
forstået det, eller vidst at det var det jeg ledte efter - må vist
hellere ind og nærlæse den.

Takker for hjælpen

Mvh
Jesper


Peter Brodersen skrev:

> On 26 Jun 2006 01:45:04 -0700, "Jesper H" <jesper.haukrogh@gmail.com>
> wrote:
>
> >Jeg ønsker altså at udtrække en mængde informationer fra databasen
> >'hist'. Denne har et felt, der hedder `kreds`. `kreds` er _muligvis_
> >repræsenteret i en anden database 'kredse' under `navn`, og hvis den
> >er, ønsker jeg at få returneret `hjemmeside` fra den række i
> >'kredse'.
>
> Du har blot brug for en LEFT JOIN. Fx:
>
> SELECT hist.titel, hist.tekst, hist.hilsen, hist.kreds,
> kredse.hjemmeside
> FROM hist
> LEFT JOIN kredse ON kredse.navn = hist.kreds
> LIMIT 1
>
> --
> - Peter Brodersen
> Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
> Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203


Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409077
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste