2014-04-04 42 views
0

這與我的團隊的調查申請有關。我的數據庫中有3個表格與此問題相關。SQL - 引用3個表格

如果數據庫未完全標準化,我表示歉意。

TBL_CHURCH columns: 

1 FAM_CHURCH_SACRMNT_NUM (Primary Key) Int(15) 
2 RSPONDNT_NUM 
3 SURVYR_NUM 
4 QN_NUMBER 
5 CHRCHFAMLY_NAME 
6 CHRCHFAMLY_ISBAPTIZED 

Sample row based on order of columns above: 
     1   2   3  4   5    6 
     6422164  76826499 5712  362 Serio Tecson Jr.  Yes 

TBL_INTRVW columns: 

1 QN_NUMBR (Primary Key) 
2 SURVYR_NUM 
3 ZONE_NUM 
4 RSPONDNT_NUM 

    Sample row based on order of columns above: 
     1   2   3   4 
     362   5712   11  76826499 

TBL_AREA columns: 
1 BRGY_ZONE_NUM (Primary Key) 
2 BRGY_CODE 

    Sample row based on order of columns above: 
     1   2 
     11   2A 
     21   2A 
     31   2A 

字段CRCHFAMLY_ISBAPTIZED只有兩個值。一個「是」或一個「否」,並且每一行都有一個QN_NUMBR值被引用到TBL_INTRVW和TBL_INTRVW上的每個QN_NUMBR有一個唯一的ZONE_NUM引用到TBL_AREA和ZONE_NUM有一個相應的BRGY_CODE。每個BRGY_CODE至少有2個ZONE_NUM值

我的問題是,我想要統計在特定區域受洗的人數。

輸出或多或少應該是這樣的: (輸出從3個不同的ZONE_NUM收集)

Zone Name Num of People Baptized 
    2A     20 

我有什麼麻煩我的SQL語句中使用什麼。我應該在INNER JOIN中使用WHERE嗎?我如何在我的SELECT語句中進行操作?

+0

有沒有給任何一列。的人在教堂受洗? –

+0

@RashmiPandit無。在教堂受洗的人數不是給予我們的參數的一部分。他們只指定了在特定地區接受洗禮的人數。這包括該地區內的任何教堂。 –

回答

1
SELECT c.BRGY_ZONE_NUM,count(a.CHRCHFAMLY_ISBAPTIZED) as [Num of People Baptized] 
from TBL_CHURCH a 
left join 
TBL_INTRVW b 
on a.QN_NUMBER=b.QN_NUMBER 
left join 
TBL_AREA c 
on b.ZONE_NUM=cRGY_ZONE_NUM 
where a.CHRCHFAMLY_ISBAPTIZED='Yes' 
group by c.BRGY_ZONE_NUM 

我沒有看到這三個表區域名稱列,所以我用BRGY_ZONE_NUM