Avatar billede jakobdo Ekspert
05. april 2004 - 22:13 Der er 5 kommentarer og
1 løsning

Nogle som kan lave 2 sql'er til 1?

Jeg har disse to sql-sætninger:

SELECT *,UNIX_TIMESTAMP(datotid) AS unix FROM kampe WHERE id = 1

SELECT brugere.nick AS bNick FROM topscorer, brugere WHERE brugere.id = topscorer.b_id AND topscorer.k_id = 1

Jeg ønsker kun at have en?

Jeg har 3 tabeller:

kampe, med info om kampe! :o)
brugere, med spillere.
Og så topscorer, hvor den virker som en mange til mange relation mellem brugere og kampe.
Avatar billede htm Nybegynder
05. april 2004 - 22:18 #1
Måske sådan?

SELECT kampe.*, brugere.nick AS bNick, UNIX_TIMESTAMP(datotid) AS unix FROM kampe, brugere, topscorer WHERE brugere.id = topscorer.b_id AND topscorer.k_id = kampe.id AND kampe.id=1
Avatar billede jakobdo Ekspert
05. april 2004 - 22:24 #2
HEHE, var det så let! Øv... :o)
Smider du et svar?
Tak for hjælpen!
Avatar billede htm Nybegynder
05. april 2004 - 22:25 #3
ok da :o)
Avatar billede jakobdo Ekspert
06. april 2004 - 09:32 #4
Svaret var ikke helt godt nok! Hvis vi antager der ingen målscorer er, så finder jeg ikke info om kampen! Det skal jeg have under alle omstændigheder!

Så jeg tror muligvis jeg vi skal over i noget Left join!
Avatar billede jakobdo Ekspert
06. april 2004 - 09:42 #5
Tror måske denne kan bruges:

SELECT
UNIX_TIMESTAMP(kampe.datotid) AS unix,
kampe.spillested AS kSted,
kampe.hold AS kHold,
kampe.modstandMaal AS kMaal,
kampe.referat AS kRef,
brugere.nick AS bNick
FROM
kampe LEFT JOIN topscorer
ON (kampe.id=topscorer.k_id)
LEFT JOIN brugere
ON (brugere.id=topscorer.b_id)
WHERE kampe.id=1
Avatar billede htm Nybegynder
06. april 2004 - 22:32 #6
Er desværre ikke helt så stærk i LEFT JOIN med flere tabeller. Men mener det er sådan det skal være - men test dem, du vil få syntaksfejl hvis det er galt, og du kan teste dem i phpmyadmin, eller anden administrationsinterface. og se om du får det rigtige resultat ud.

SELECT kampe.*, brugere.nick AS bNick, UNIX_TIMESTAMP(datotid) AS unix
FROM kampe LEFT JOIN (topscorer LEFT JOIN brugere ON topscorer.b_id = brugere.id) ON kampe.id = topscorer.k_id
WHERE kampe.id=1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester