Avatar billede fhansen Praktikant
15. marts 2008 - 00:15 Der er 2 kommentarer og
1 løsning

JOIN finder ikke den senest anmeldelse ved brug af MAX()

Hejsa
Jeg bruger nedenstående kode, til at finde en clients totale forhold i havnen, linien '  LEFT JOIN boatreg R on (R.Client = P.Client AND R.Berth = P.Berth)'+ returnere ikke seneste boatreg.
Jeg har rodet en del med MAX(Bid), Hvor Bid er id for boatreg.

Hvad gør jeg forkert


'SELECT P.Client, P.Berth, P.Width, P.Length, P.Depth, R.Boat, R.Name, R.Bid, B.Width AS Bwidth, B.Length AS Blength, '+
                  '  F.Fdate, F.Tdate, S.Berth, S.Id, L.Contract, L.Client AS LClient, L.Rentaltype, L.Cost, L.Fdate AS LFdate, '+
                  '  L.Tdate AS LTdate, C.text, C.Cost  FROM berth P'+
                  '  LEFT JOIN boatreg R on (R.Client = P.Client AND R.Berth = P.Berth)'+
                  '  LEFT JOIN boats B on (B.Boat = R.Boat)'+
                  '  LEFT JOIN frental F on (F.Berth = P.Berth)'+
                  '  LEFT JOIN salelist S on (S.Berth = P.Berth)'+
                  '  LEFT JOIN rental L on (L.Berth = P.Berth)'+
                  '  LEFT JOIN rentalcost C on (C.Rtype = L.Rentaltype)'+
                  '  WHERE (P.Client = :Client)'+
                  '  GROUP BY R.Berth '+
                  '  ORDER BY R.Berth ';
Avatar billede arne_v Ekspert
16. marts 2008 - 00:22 #1
I standard SQL kan man med en GROUP BY query kun have aggregerede funktioner plus
de kolonner der er i GROUP BY i select listen.

MySQL er mere fleksibel - man kan have andre kolonner i select listen. MySQL tager
så en tilfældig række.

Jeg tror at queryen skal redesignes fra GROUP BY til noget andet.
Avatar billede fhansen Praktikant
16. marts 2008 - 08:25 #2
Jeg har også prøvet uden GROUP BY, sådan som jeg ser det med min ringe viden, så har jeg brug for at sortere på poster som linien LEFT JOIN boatreg R on (R.Client = P.Client AND R.Berth = P.Berth).
Egentlig havde jeg troet at MAX(Bid) hvade valgt den post med højeste Bid value
Avatar billede fhansen Praktikant
01. december 2010 - 22:53 #3
Lukning
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