Avatar billede madsmm Nybegynder
29. september 2004 - 10:07 Der er 2 kommentarer og
1 løsning

tjek på sammentælling i query

Hejsa,

Jeg står med noget i denne stil:

SELECT IM.ID, ( SUBSTRING_INDEX(Sc, '-', 1) + SUBSTRING_INDEX(Sc, '-', -1) ) as totalgoals, COUNT(ISN.ID) AS goals
FROM IM,ISN
WHERE ISN.MatchID=IM.ID
GROUP BY IM.ID

Lige for at forklare, så henter jeg et felt ud "Sc" der indeholder en score, det tæller jeg sammen, og så henter jeg, fra en anden tabel, antallet af målscorere, og det jeg gerne vil er at benytte disse optællinger i where clausen. Noget i denne stil:

SELECT IM.ID, ( SUBSTRING_INDEX(Sc, '-', 1) + SUBSTRING_INDEX(Sc, '-', -1) ) as totalgoals, COUNT(ISN.ID) AS goals
FROM IM,ISN
WHERE ISN.MatchID=IM.ID AND totalgoals <> goals
GROUP BY IM.ID

Men det virker ikke.. kan man gøre noget i den stil?

På forhånd tak!
Avatar billede Slettet bruger
29. september 2004 - 12:24 #1
Prøv med HAVING:

SELECT IM.ID, ( SUBSTRING_INDEX(Sc, '-', 1) + SUBSTRING_INDEX(Sc, '-', -1) ) as totalgoals, COUNT(ISN.ID) AS goals
FROM IM,ISN
WHERE ISN.MatchID=IM.ID
HAVING totalgoals <> goals
GROUP BY IM.ID
Avatar billede Slettet bruger
29. september 2004 - 12:25 #2
- eller måske:
SELECT IM.ID, ( SUBSTRING_INDEX(Sc, '-', 1) + SUBSTRING_INDEX(Sc, '-', -1) ) as totalgoals, COUNT(ISN.ID) AS goals
FROM IM,ISN
WHERE ISN.MatchID=IM.ID
HAVING (SUBSTRING_INDEX(Sc, '-', 1) + SUBSTRING_INDEX(Sc, '-', -1) ) <> COUNT(ISN.ID)
GROUP BY IM.ID
Avatar billede madsmm Nybegynder
29. september 2004 - 12:33 #3
Nej det virker desværre ikke!
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