2009-12-05 54 views
0

我试图在访问中编写查询。SQL - MS ACCESS - 用NULL值显示单元格为0

我的目标是;

要获得一天内完成多少手术的结果。

问题是;

结果给了我日期和做了多少手术,但没有任何手术的日子没有列在结果表上。

我希望没有手术的日子显示为0. 但是在2009年1月3日没有关于手术类型1的记录。我只想通过那样的行;

TYPE 1 ------------ ------------ 30.01.2009 0

是有可能或HOW?

例如,

外科类型------------ ---------------- DATES AMOUNT

---- --- TYPE 1 ----------------- 01.01.2009 ------------------ 20

- ----- TYPE 1 ----------------- 02.01.2009 ------------------ 30

- !! - !! - 03.01.2009没有显示为0(它没有出现在结果表上) - !! - !! -

------- TYPE 1 ----------------- 02.01.2009 ------------------ 10

我试过使用ISNULL函数,但无法得到结果。

*B is SURGERY TYPE 
*T is DATES 
SQL Code 

SELECT T1.B, T1.T, Count(T1.T) AS Amount 
FROM T1 
GROUP BY T1.B, T1.T 
HAVING (((T1.B) In (SELECT [B] FROM [T1] As Tmp GROUP BY [B] HAVING Count(*)>1))) ORDER BY T1.B; 

回答

2

您需要外连接。外连接将允许主表中的所有记录,并且只允许来自外连接表的记录匹配。这允许记录存在于计数为零的地方。