05. august 2008 - 11:57Der er
6 kommentarer og 1 løsning
Hvordan tvinger jeg en NULL ?
Hej eksperter.
Jeg har en asp-side, som laver et MySQL-kald...
Jeg har lige nu 4 virksomheder, og vil vide hvor mange tilmeldinger der er kommet i de 4 virksomheder siden ex. 1. august... Har et kald som følger...
SELECT count(*) AS sum FROM user JOIN memberof ON user.id = memberof.user_id WHERE date >= '2008-08-01' GROUP BY memberof.company_id
Mit problem er bare at hvis tilmeldingerne i de 4 virksomheder er ex. 10,20,0 og 30.... Så kommer resultatet ud som: 10,20,30. Når der ingen tilmelding er, så skippes den... MEN - kan det ikke lade sig gøre, at tvinge den til at skrive nul?? Har prøvet noget med at plusse 0 til sum eller noget andet fusk, men det virker ikke...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg vil tro, at du har en tabel, som indeholder dine virksomheder, f.eks. company. I så fald kan du tage udgangspunkt i den og dermed altid få vist data for alle virksomheder. Noget a.la (ikke testet):
SELECT c.id, COALESCE(x.sum, 0) AS sum FROM company c LEFT JOIN ( SELECT company_id, count(*) AS sum FROM user u INNER JOIN memberof m ON u.id=m.user_id WHERE date >= '2008-08-01' GROUP BY m.company_id ) AS x ON x.company_id = c.id
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.