Avatar billede rickie Juniormester
14. marts 2005 - 09:16 Der er 2 kommentarer og
1 løsning

Group by year, selvom værdi er nul

Hej allesammen,

Jeg har denne kode:
<%
sqlquery ="select SUBSTRING(CONVERT(VARCHAR, a.RegDate, 112), 1, 4) as RegDate, count(distinct c.DebtorNo) as DebtorNo from niAct a, niActDeb b, niDbMain c where a.ActNo = b.ActNo and b.DebtorNo = c.DebtorNo and c.WrongAddress = 1 and a.ClosureCode is null and a.CreditorNo = "&CreditorNo&" group by SUBSTRING(CONVERT(VARCHAR, a.RegDate, 112), 1, 4) order by a.RegDate"
rs.Open sqlquery, conn
%>

Som det er nu, så skriver den ud resultatet korrekt, men kun der hvor der er en værdi. Feks.
2000 = 2
2003 = 1

Jeg vil gerne at den skriver det sådan her:
2000 = 2
2001 = 0
2002 = 0
2003 = 1
2004 = 0
2005 = 0

Er dette muligt?
Avatar billede eagleeye Praktikant
14. marts 2005 - 17:03 #1
Ja det ligger i den måde du JOIN'er på. Som den er lavet der er det en INNER JOIN som kun tager poster med hvis de er i begge tabeller:
  a.ActNo = b.ActNo and b.DebtorNo = c.DebtorNo

Så du kan prøve at lave det som LEFT JOIN's sådan her, det muligt det kun er den ene som skal være LEFT JOIN så det kan rettes:

sqlquery ="select SUBSTRING(CONVERT(VARCHAR, a.RegDate, 112), 1, 4) as RegDate, count(distinct c.DebtorNo) as DebtorNo from (niAct a LEFT JOIN niActDeb b ON a.ActNo = b.ActNo) LEFT JOIN niDbMain c ON b.DebtorNo = c.DebtorNo where c.WrongAddress = 1 and a.ClosureCode is null and a.CreditorNo = "&CreditorNo&" group by SUBSTRING(CONVERT(VARCHAR, a.RegDate, 112), 1, 4) order by a.RegDate"
Avatar billede rickie Juniormester
21. marts 2005 - 10:33 #2
Det virkede! Jeg måtte prøve mig frem med join!
Svar for dine points :-)
Avatar billede eagleeye Praktikant
21. marts 2005 - 10:40 #3
Ok her et svar :)
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
Kurser inden for grundlæggende programmering

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