Avatar billede totalpc Seniormester
17. maj 2021 - 14:46 Der er 1 kommentar

En ekstra parameter i where clause giver forkert output

Hej
Jeg har denne kode der udtrækker den fisk med den største vægt, for hver art, for hvert medlem pr år.
Problemet er at hvis der nu er et medlem der indvejer samme art med nøjagtig samme vægt, så kommer begge fisk ud i den art. Det er ikke meningen. Jeg forsøgte så at sætte ind at hvis der var ens vægt, så skulle den tage den længste af de 2. Dvs max laengde. Men det fjernede så nogle andre resultater, som var rigtige nok. Er det nogle der kan gennemskue det og hjælpe mig med at skrive nedenstående korrekt ?

SELECT a.id,a.medlemsnr,a.navn,a.baadnavn, a.Vaegt maxvaegt
FROM    ct_storfanger_indberetninger a,
        (
            select medlemsnr, art, YEAR(dato) year, MAX(vaegt) maxVaegt
            FROM ct_storfanger_indberetninger
            where godkendt=1
            GROUP BY medlemsnr, art, YEAR(dato)
        ) maxArt

WHERE a.medlemsnr = maxArt.medlemsnr
ANd a.art = maxArt.art
AND a.vaegt = maxArt.maxVaegt
AND YEAR(a.dato) = maxArt.year
and a.art='$currentart'
AND YEAR(a.dato)=$aarstal
and a.godkendt=1
and a.storfanger=1
ORDER BY maxvaegt DESC, a.laengde ASC
LIMIT 10;
Avatar billede arne_v Ekspert
17. maj 2021 - 15:06 #1
Det er ikke helt nemt at gennemskue.

Men måske noget a la:

AND a.vaegt = maxArt.maxVaegt

->

AND a.vaegt = maxArt.maxVaegt AND a.laengde = (SELECT MAX(laengde) FROM ... WHERE ...)
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

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





Premium
Center for Cybersikkerhed advarer om alvorlige mangler: 75 procent af de danske virksomheder er for dårlige til logning
Log-filer er afgørende efter et cyberangreb, lyder det fra Center for Cybersikkerhed. Alt for mange virksomheder har ikke fuldstændige log-filer og det spænder ben for Forsvarets Efterretningstjenestes arbejde med at opklare cyberangreb i Danmark.
Computerworld
Efter Windows 11-lækket: Her er de nye elementer - og lanceringsdatoen
Podcast: Hvad kan Windows 11 tilbyde? Hvad kræver det af dit hardware? Hvornår kommer det? Og hvorfor har NNIT indsat Pär Fors som ny topchef? Ham har vi mødt på hans kontor i Søborg. Få svarene i denne episode af Computerworlds nyhedspodcast.
CIO
Der findes ikke noget vigtigere for din virksomhedskultur end psychological safety
Klumme: Forskningen er entydig: Vidensarbejde er mere effektiv, når du tør stille spørgsmål, rejse kritik og indrømme fejl helt uden frygt for at blive straffet eller gjort til grin. Hvis du ikke har fokus på denne del af din virksomhedskultur, så lever din virksomhed og dine medarbejdere ikke op til deres fulde potentiale.
White paper
Sådan: Ryd forhindringerne af vejen på cloudrejsen
IBM Cloud gør det lettere at lægge kritiske applikationer i skyen eller på en hybrid platform samt bevare kontrol og ejerskab – med fuld understøttelse af SAP og VMware.