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...
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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.