Avatar billede sevinding Juniormester
16. juli 2012 - 08:31 Der er 6 kommentarer og
1 løsning

Udelukke dubletter fra 2 tabeller

Hej.
Jeg har dette der udtrækker alle ryttere fra et år.

$wins = mysql_query("SELECT
ec.id AS id,
ec.aar AS aar,
ec.rytter AS rytter,
ec.tid AS tid,
t.id AS rytterid,
t.name AS name,
t.born AS born,
t.flags AS flags,
et.year AS year,
aa.year AS year,
aa.start AS start,
aa.navn AS navn,
aa.udgaaet AS udgaaet,

SUM(et.afstand) AS ialt,
SUM(TIME_TO_SEC(ec.tid)) AS secs,
SEC_TO_TIME(SUM(TIME_TO_SEC(ec.tid))) AS sum,
3650*SUM(et.afstand)/SUM(TIME_TO_SEC(ec.tid)) AS gns


FROM
    etapeclass AS ec
    INNER JOIN ryttere AS t ON ec.rytter = t.id
    INNER JOIN etaper AS et ON et.id = ec.stage
    INNER JOIN alleaar AS aa ON aa.navn = t.id


WHERE ec.rytter = t.id AND et.year = $aar AND aa.year = $aar


Jeg har en anden tabel 'out' hvor udgåede ryttere er placeret.
Hvordan undgår jeg at udskrive ryttere der går igen i de 2 tabeller?
I 'out' er rytterens navn = t.id fra ovenstående og år skulle også gerne være lig $aar
Avatar billede majbom Novice
16. juli 2012 - 11:43 #1
WHERE rytterid NOT IN(SELECT rytterid FROM out)
Avatar billede sevinding Juniormester
16. juli 2012 - 12:24 #2
Hej splazz.
Den forstår jeg ikke rigtig.
Her trækker jeg samtlige ryttere ud:

WHERE ec.rytter = t.id AND et.year = $aar AND aa.year = $aar

Derefter skal der fjernes dem der går igen i de 2 tabeller det pågældende år.
Skal der ikke laves en innerjoin med tabellen 'out'?
Avatar billede majbom Novice
16. juli 2012 - 14:12 #3
nej, du skal blot udvide din WHERE-clause (det fik gik lidt stærkt da jeg skrev tidligere) - du skal selvfølgelig også have en WHERE på din sub-select, så du kun henter og udelukker dem fra samme år)

WHERE ec.rytter = t.id AND et.year = $aar AND aa.year = $aar AND rytterid NOT IN(SELECT out.rytterid FROM out WHERE out.aar = ec.aar)
Avatar billede sevinding Juniormester
16. juli 2012 - 14:36 #4
Tak skal du ha splazz. Blot lidt småjustering, og det kører perfekt.
Sender du lige et svar?
Avatar billede majbom Novice
17. juli 2012 - 08:28 #5
ja, jeg kender jo ikke strukturen på din 'out'-tabel
Avatar billede majbom Novice
17. juli 2012 - 08:30 #6
og det skulle have været et svar :)
Avatar billede majbom Novice
17. juli 2012 - 08:38 #7
tfp :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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