13. september 2010 - 21:23Der er
5 kommentarer og 1 løsning
Problemer med SQL Sætning
Jeg har følgende SQL sætning som volder mig lidt problemer:
SELECT DISTINCT Arrangementer.ID, Arrangementer.Overskrift, Arrangementer.Beskrivelse, (Arrangementer.Antal - (SELECT SUM(Antal) FROM Tilmeldte WHERE Tilmeldte.ArrangementID=Arrangementer.ID)) AS Antal FROM Arrangementer WHERE Dato BETWEEN '2010-09-13' AND '2010-12-13' ORDER BY Dato
Tabellen Arrangementer indeholde en række arrangementer. Tabellen Tilmeldte indeholde en række tilmeldte til arrangementerne, ArrangementID i Tilmeldt er lig med ID i arrangementer.
Den viser godt nok Arrangementer, men kun hvis de også findes i Tilmeldte, findes de ikke er retur variablen lig med NULL.
Jeg kan simpelhen ikke få dette script til at returner 0 i stedet for NULL.
Jeg vil blive glad for at få alt den hjælp jeg kan. Jeg står nemlig og skal bruge det a.s.a.p.
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
Ny kode: SELECT DISTINCT Arrangementer.ID, Arrangementer.Overskrift, Arrangementer.Beskrivelse, IF (ISNULL( (SELECT SUM(Antal) FROM Tilmeldte WHERE Tilmeldte.ArrangementID=Arrangementer.ID)), Arrangementer.Antal, (Arrangementer.Antal - (SELECT SUM(Antal) FROM Tilmeldte WHERE Tilmeldte.ArrangementID=Arrangementer.ID))) AS Antal FROM Arrangementer WHERE Dato BETWEEN '2010-09-13' AND '2010-12-13' ORDER BY Dato
SELECT DISTINCT Arrangementer.ID, Arrangementer.Overskrift, Arrangementer.Beskrivelse, (Arrangementer.Antal - (IFNULL(SELECT SUM(Antal),0) FROM Tilmeldte WHERE Tilmeldte.ArrangementID=Arrangementer.ID)) AS Antal FROM Arrangementer WHERE Dato BETWEEN '2010-09-13' AND '2010-12-13' ORDER BY Dato
Jeg får faktisk en SQL fejl hvis jeg prøver din løsning, hvorimod min køre fint.
Også selvom jeg rettede IFNULL til ISNULL
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.