继续得到我的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';
如果有人能帮助我,我会很感激。
答案 0 :(得分: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';
答案 1 :(得分: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';
答案 2 :(得分:0)
我不是Oracle开发人员,但第一个JOIN
缺少ON
条件。
答案 3 :(得分:0)
好吧,我不知道这是否属实,但我的理解是你需要在每次加入时提供“绑定器”,所以这应该是这样的。
选择总和(transaction_amnt) 来自cs339.comm_to_cand 在cs339.committee_master.cmte_id = cs339.comm_to_cand.cmte_id上加入cs339.committee_master 在cs339.committee_master.cmte_id = cs339.cmte_id_to_geo.cmte_id上加入cs339.cmte_id_to_geo 其中cycle = 1112和cmte_pty_affiliation ='DEM';
此外,WHERE子句上的列应该以其父表命名,因此如果cycle和cmte_pty_affiliation列属于cs339.comm_to_cand,则它应该是
其中cs339.comm_to_cand.cycle = 1112和cs339.comm_to_cand.cmte_pty_affiliation ='DEM';