0

私の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';

誰かが私を助けてくれるなら、私はそれをいただければ幸いです。

4

4 に答える 4

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';
于 2012-10-22T22:21:41.117 に答える
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';
于 2012-10-22T22:20:40.983 に答える
0

私は Oracle 開発者ではありませんが、最初JOINON条件がありません。

于 2012-10-22T22:22:14.847 に答える
0

これが本当かどうかはわかりませんが、結合ごとに「バインダー」を提供する必要があることを理解しているので、このようにする必要があります。

cs339.comm_to_can から sum(transaction_amnt) を選択し、 cs339.committee_master で cs339.committee_master.cmte_id=cs339.comm_to_cand.cmte_id に参加 cs339.committee_master.cmte_id=cs339.cmte_id_to_ge で cs339.cmte_id_to_geo に参加';

また、WHERE 句の列にはテーブルの親の名前を付ける必要があるため、cycle および cmte_pty_affiliation 列が cs339.comm_to_cand に属している場合は、次のようにする必要があります。

cs339.comm_to_cand.cycle=1112 および cs339.comm_to_cand.cmte_pty_affiliation='DEM';

于 2012-10-22T22:24:46.537 に答える