Hej! Hej igen!Problem med null-value
Jag får ett problem vid summering av värden pga null i en kolumn.
Tabellen består av ett antal spelare (pl) som spelat hemmamatcher (rsresh) respektive bortamatcher (rsresb).
Jag vill få fram summan av de inspelade poängen för varje spelare.
Jag når halvvägs med följande query:
SELECT pl,
(select sum(rsresb) from rslt where plid = rsplyh) +
(select sum(rsresh) from rslt where plid = rsplyb) as pin
FROM tabell
Denna query fungerar alldeles utmärkt så länge spelaren har spelat matcher både borta och hemma. I de fall det finns resultat antingen hemma eller borta så "går det åt skogen".
Finns det ett sätt att hantera NULL som noll när ovanstående scenario inträffar?Sv: Problem med null-value
Efter att ha gått igenom en hel del diskussionsinlägg och sökt en del på nätet lyckades jag konstatera att en del av bekymret beror på plattformen (MS Access)
Jag lyckades i alla fall att lösa problemet till slut genom följande selectsats:
SELECT pl,
(select IIF(ISNULL(sum(rsresh)), 0, sum(rsresh)) as inh from rslt where plid = rsplyh) +
(select IIF(ISNULL(sum(rsresb)), 0, sum(rsresb)) as inb from rslt where plid = rsplyb) AS pin
from tabell
Jag har förutom ovanstående uttryck försökt använda mig av Nz.
Resultatet verkade dock skapa en stränghantering vilket ledde till konkatenering av uttrycken istället för summering.
Skulle någon kunna hjälpa till att förklara skillnaden mellan uttrycken?
PS. Är det korrekt uppfattat att mitt uttryck skall tolkas som nedanstående?
Om summan av rsresb ger NULL som resultat skall 0 tilldelas till summan av rsresb.
DS.