05. april 2006 - 14:23Der er
6 kommentarer og 1 løsning
kan ikke få en sum til at passe
select count(DISTINCT Forhandler.Navn), sum(Forhandler.Homesite), sum(Forhandler.Menukort), Forhandler.Kommune, COUNT(Anmeldelser.Godkendt) from Forhandler LEFT JOIN Anmeldelser ON Forhandler.ID = Anmeldelser.Forhandler_ID WHERE Forhandler.Landsdel='Fyn' GROUP BY Forhandler.Kommune ORDER BY Forhandler.Kommune
ID |tblA_ID |Godkendt |Tekst ------------------------------------------ 1 |1 |1 |tekst 1 |1 |1 |tekst bla 1 |2 |1 |tekst bla bla ------------------------------------------
select COUNT(DISTINCT tblA.Navn), sum(tblA.TalA), sum(tblA.TalB), tblA.PostBy, COUNT(tblB.Godkendt) from tblA LEFT JOIN tblB ON tblA.ID = tblB.tblA_ID WHERE tblA.Landsdel='Fyn' GROUP BY tblA.PostBy ORDER BY tblA.PostBy
du skal vide hvor mange unikke rækker fra tblA, der har et 1-tal i en bestemt kolonne? Et grimt hack ville være at sætte dem til 0 hvis de ikke var valgt og eller tblA.ID (istedet for 1), hvis de var valgt. Så kunne du tælle unikke rækker her.
Jeg har dog svært ved at se, hvad formålet er (det ønskede resultat), når du har den slags meta-navne for tabellerne og ikke kommer med formålet sådan beskrevet helt uformelt :)
Hvilken version af mysql har du for en mulig løsning er med sub selects:
SELECT Sum(b.talA) AS SumtalA, Sum(b.talB) AS SumtalB, Sum(b.Countid) AS SumOfCountid, b.postBy FROM (SELECT t1.id, t1.talA, t1.talB, t1.postBy, Count(t2.id) AS Countid FROM tblA t1 INNER JOIN tblB t2 ON t1.id = t2.tblA_ID GROUP by t1.id, talA, TalB, postBy) AS b GROUP BY b.postBy
select COUNT(DISTINCT tblA.Navn), sum(tblA.TalA), sum(tblA.TalB), tblA.PostBy, from tblA WHERE tblA.Landsdel='Fyn' GROUP BY tblA.PostBy ORDER BY tblA.PostBy
SELECT COUNT(tblB.Godkendt) from tblA LEFT JOIN tblB ON tblA.ID = tblB.tblA_ID WHERE tblA.Landsdel='Fyn' GROUP BY tblA.PostBy ORDER BY tblA.PostBy
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.