2012-10-22 76 views
0

不斷得到我的sql查詢中有缺少關鍵字的反饋。SQL查詢缺少關鍵字

select sum(transaction_amnt) 
from cs339.comm_to_cand 
join cs339.committee_master 
join cs339.cmte_id_to_geo 
    on cs339.committee_master.cmte_id=cs339.comm_to_cand.cmte_id 
    and cs339.committee_master.cmte_id=cs339.cmte_id_to_geo.cmte_id 
where cycle=1112 
    and cmte_pty_affiliation='DEM'; 

如果有人能幫助我,我會很感激。

回答

1

沒有「開啓」狀態後的第一個加入

試試這個:

select sum(transaction_amnt) 
from cs339.comm_to_cand 
join cs339.committee_master 
      on cs339.committee_master.cmte_id=cs339.comm_to_cand.cmte_id 
join cs339.cmte_id_to_geo  
    on cs339.committee_master.cmte_id=cs339.cmte_id_to_geo.cmte_id 
where cycle=1112 
    and cmte_pty_affiliation='DEM'; 
+0

SELECT SUM(transaction_amnt)加入cs339.committee_master上cs339.committee_master.cmte_id = cs339.comm_to_cand.cmte_id加入cs339.cmte_id_to_geo上和\t cs339.committee_master.cmte_id = cs339.cmte_id_to_geo.cmte_id其中週期= 1112和cmte_pty_affiliation ='DEM' 現在我收到一個錯誤,表示缺少一個表達式 –

2

你缺少ON你的第一個加盟 - 我加了一些別名,這也:

select sum(transaction_amnt) Total 
from cs339.comm_to_cand cc 
join cs339.committee_master cm 
    on cm.cmte_id=cc.cmte_id 
join cs339.cmte_id_to_geo cg 
    on cm.cmte_id=cg.cmte_id 
where cycle=1112 
    and cmte_pty_affiliation='DEM'; 
0

我不是Oracle開發人員,但第一個JOIN缺少ON條件。

0

嗯,我不知道這是否屬實,但我的理解是,您需要在每個連接上提供「連接符」,所以這應該是這樣的。

SELECT SUM(transaction_amnt) 從cs339.comm_to_cand 上cs339.committee_master.cmte_id = cs339.comm_to_cand.cmte_id 加入cs339.committee_master加入cs339.cmte_id_to_geo上cs339.committee_master.cmte_id = cs339.cmte_id_to_geo.cmte_id 其中cycle = 1112和cmte_pty_affiliation ='DEM';

此外,在列的WHERE子句中應該有其表的父命名的,所以,如果週期和cmte_pty_affiliation列屬於cs339.comm_to_cand應該

其中cs339.comm_to_cand.cycle = 1112和cs339.comm_to_cand。 cmte_pty_affiliation = 'DEM';從cs339.comm_to_cand