webForumDet fria alternativet

mysql, count

Databaser & SQL

2 svar · 234 visningar · startad av P

Medlem sedan jan. 20012 204 inlägg
Frågan#1

Har två tabeller. En med användare och en med fakturor. Vill få ut Användare koplat till fakturorna. Ser ut som detta:

1: tblUser
KundID
Namn
...

2. Faktura
FakturaID
KundID
...

Denna sql fungerar hyffsat:

Select  tbl_users.KundID, tbl_users.Namn ,COUNT(tbl_users.KundID) As AntalFakturor, SUM(case when tbl_faktura.Verifierad ='NEJ' then 1 else 0 End) as NumbVerifierade, SUM(case when tbl_faktura.Betald ='NEJ' then 1 else 0 end) as AntalBetald From tbl_users,tbl_faktura  WHERE tbl_users.KundID = tbl_faktura.KundID Group By tbl_users.KundID

Räknar fakturorna till respektive användare och kontrollerar hur många som är betalda och verifierade.

Problemet är att om en kund inte har några fakturor så vill jag ändå att han ska vara med. Vad göra?

Medlem sedan dec. 200012 464 inlägg
#2
Select  tbl_users.KundID, 
           tbl_users.Namn ,
          COUNT(tbl_faktrura.KundID) As AntalFakturor, 
          SUM(case when tbl_faktura.Verifierad ='NEJ' then 1 
                 else 0 End) as NumbVerifierade, 
          SUM(case when tbl_faktura.Betald ='NEJ' then 1 
                else 0 end) as AntalBetald 
From tbl_users left join tbl_faktura  
on  tbl_users.KundID = tbl_faktura.KundID 
Group By tbl_users.KundID,tbl_users.Namn
Medlem sedan jan. 20012 204 inlägg
#3

Tack LarsG, som alltid!

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)