/ 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
Sub selects i MySql
Fra : Jeppe Vesterbæk


Dato : 15-05-02 16:27

Hej gruppe

Endnu et spørgsmål fra en nybegynder...

Sådan som jeg har forstået det, så kan kan ikke bruge sub selects i MySql.
Jeg har læst på dokumentationen på mysql.com, men kan ikke helt gennemskues
hvordan følgende så skrives

SELECT bil.ankomsttid, bil_afgang.afgangstid
FROM bil, bil_afgangstid
WHERE bil.bane_id =
(SELECT bane_id from vejbane
WHERE gennemlob_id = 2
AND navn = 1)
AND bil.bil_id=bil_afgang.bil_id

vh Jeppe



 
 
-Martin- (15-05-2002)
Kommentar
Fra : -Martin-


Dato : 15-05-02 16:52

On Wed, 15 May 2002 17:26:57 +0200, "Jeppe Vesterbæk"
<jeppeojeppe_ingenspamtak_@hotmail.com> wrote:

>Hej gruppe
>
>Endnu et spørgsmål fra en nybegynder...
>
>Sådan som jeg har forstået det, så kan kan ikke bruge sub selects i MySql.
>Jeg har læst på dokumentationen på mysql.com, men kan ikke helt gennemskues
>hvordan følgende så skrives
>
>SELECT bil.ankomsttid, bil_afgang.afgangstid
>FROM bil, bil_afgangstid
>WHERE bil.bane_id =
> (SELECT bane_id from vejbane
> WHERE gennemlob_id = 2
> AND navn = 1)
>AND bil.bil_id=bil_afgang.bil_id
>
>vh Jeppe
>

Du ska nok kigge på joins :)
God fornøjelse siger jeg bare, jeg har endnu ikk helt lært det efter ½
års brug af mysql

Jakob Andersen (15-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 15-05-02 16:58

"Jeppe Vesterbæk" <jeppeojeppe_ingenspamtak_@hotmail.com> skrev i en
meddelelse news:abtuo3$405$1@sunsite.dk...
> SELECT bil.ankomsttid, bil_afgang.afgangstid
> FROM bil, bil_afgangstid
> WHERE bil.bane_id =
> (SELECT bane_id from vejbane
> WHERE gennemlob_id = 2
> AND navn = 1)
> AND bil.bil_id=bil_afgang.bil_id

Noget ala:

SELECT
b.ankomsttid,
ba.afgangstid
FROM
(bil b LEFT JOIN bil_afgangstid ba ON ba.bil_id = b.bil_id)
LEFT JOIN vejbane v ON v.bane_id = b.bane_id
WHERE
v.gennemlob_id = 2 AND v.navn = 1

Om du skal bruge LEFT JOIN eller INNER JOIN afhænger af om du tillader NULL
i de værdier du joiner med.

--
Jakob Andersen



Jeppe Vesterbæk (15-05-2002)
Kommentar
Fra : Jeppe Vesterbæk


Dato : 15-05-02 17:33

Hej igen Jakob

Du er dagens mand....

Igen, tak for endnu et svar. Det tror jeg ikke helt, jeg selv havde
gennemskuet.

vh Jeppe



Kristian Damm Jensen (22-05-2002)
Kommentar
Fra : Kristian Damm Jensen


Dato : 22-05-02 09:01

Jakob Andersen wrote:
>
> "Jeppe Vesterbæk" <jeppeojeppe_ingenspamtak_@hotmail.com> skrev i en
> meddelelse news:abtuo3$405$1@sunsite.dk...
> > SELECT bil.ankomsttid, bil_afgang.afgangstid
> > FROM bil, bil_afgangstid
> > WHERE bil.bane_id =
> > (SELECT bane_id from vejbane
> > WHERE gennemlob_id = 2
> > AND navn = 1)
> > AND bil.bil_id=bil_afgang.bil_id
>
> Noget ala:
>
> SELECT
> b.ankomsttid,
> ba.afgangstid
> FROM
> (bil b LEFT JOIN bil_afgangstid ba ON ba.bil_id = b.bil_id)
> LEFT JOIN vejbane v ON v.bane_id = b.bane_id
> WHERE
> v.gennemlob_id = 2 AND v.navn = 1
>
> Om du skal bruge LEFT JOIN eller INNER JOIN afhænger af om du tillader NULL
> i de værdier du joiner med.

Bemærkning: Hvis vejbane kan indeholde flere forekomster, der opfylder
betingelserne, vil omskrivningen give anledning til dubletter.

I såfal skal første linie rettes til

SELECT DISTINCT


--
Kristian Damm Jensen | Feed the hungry at www.thehungersite.com
kristian-damm.jensen@cgey.dk | Two wrongs doesn't make a right,
ICQ# 146728724 | but three lefts do.


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

Månedens bedste
Årets bedste
Sidste års bedste