10. november 2004 - 15:12Der er
5 kommentarer og 1 løsning
right join og inner join
Hej
Skal lige sige jeg er ikke skarp i join typer, og har derfor brug for hjælp.
Har som udgangspunkt denne query: SELECT omdeling.uge, omdeling.aar, omdeling.antal, omdeling.garantistk, omdeling.garantikilo, indlevering.indleveringsted, blad.bladnavn, trykkeri.trykkerinavn, blad.uanbringelig, blad.bladid FROM trykkeri INNER JOIN (indlevering INNER JOIN (blad INNER JOIN omdeling ON blad.bladid = omdeling.bladid) ON indlevering.indleveringsted = blad.indlevering) ON trykkeri.autoid = blad.trykkerinr;
Har også en tabel med alle ugenr. (1-53), som jeg nu gerne vil have som kolonne overskrifter, så dem som står til omdeling i uge 1 kommer til at stå under uge 1, dem som er i uge 2 står i kolonnen med uge 2 osv.
Hvis du vil vise alle Uger, uanset om der er en tilknyttet post i Omdelings tabellen skal du bruge en LEFT JOIN Noget i stil med: FROM uge LEFT JOIN(trykkeri INNER JOIN...o.s.v
Vhis jeg laver: TRANSFORM Sum(omdeling.antal) AS SumOfantal1 SELECT trykkeri.trykkerinavn, blad.bladnavn, blad.bladid, omdeling.garantistk, omdeling.garantikilo, blad.indlevering, Count(omdeling.uge) AS AntalUdgivelser FROM uge LEFT JOIN (trykkeri INNER JOIN (blad INNER JOIN omdeling ON blad.bladid=omdeling.bladid) ON trykkeri.autoid=blad.trykkerinr) ON uge.uge=omdeling.uge GROUP BY trykkeri.trykkerinavn, blad.bladnavn, blad.bladid, omdeling.garantistk, omdeling.garantikilo, blad.indlevering PIVOT uge.uge;
Prøv sådan i stedet for: FROM Uge LEFT JOIN (Trykkeri RIGHT JOIN (Blad RIGHT JOIN Omdeling ON Blad.BladID = Omdeling.Bladid) ON Trykkeri.AutoID = Blad.TrykkeriNr) ON Uge.Uge = Omdeling.Uge;
Har løst det - lavede en ny query, som hentede alle felterne fra den første query, og satte et af felterne til "Is Not Null"
Synes godt om
Ny brugerNybegynder
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.