2012-03-10 13 views
0

私は2つのテーブルward1とward2ieを持っています。oracleのgroup by句を使用して2つのテーブルのレコードをマージする方法はありますか。

create table ward1 
(
ward_id int 
) 

create table ward2 
(
ward_id int, 
ward_name varchar(10) 
) 

と値は -

insert into ward1 values(101); 
insert into ward1 values(101); 
insert into ward1 values(102); 
insert into ward1 values(102); 
insert into ward1 values(102); 

insert into ward2 values(101,'child'); 
insert into ward2 values(102,'General'); 

私はこのコードを使用し私のために簡単だったので、私はward_id.Itの発生数の合計を生成する必要があります。

SELECT ward_id, count(ward_id) as "No of occurrence" from ward1 group by ward_id; 

出力された -

ward_id No of occurrence 
101  2 
102  3 

これはward1テーブルからのレコードですが、私は、テーブルward2からward_nameをしたいとき。私はエラーが発生しています。 これは

....私は助けてくださいthis--

ward_id ward_name No of occurrence 
101  child  2 
102  General  3 

のように表示したい...それが発現によるグループではないと言う

私code--

select ward1.ward_id as "ward_id",ward2.ward_name, 
count(ward1.ward_id)as "No of occurrence" from ward1, 
ward2 group by ward1.ward_id,ward2.ward_name 
having ward1.ward_id=ward2.ward_id; 

です

答えて

1

閉じます。あなたは本当にただそれはclose.Thankあなただっええおおwhere句(または優先を使用して文を「参加」)

select ward1.ward_id as "ward_id",ward2.ward_name, 
count(ward1.ward_id)as "No of occurrence" 
from ward1,ward2 
where ward1.ward_id = ward2.ward_id 
group by ward1.ward_id,ward2.ward_name; 
+0

で2つのテーブルを結合する必要があります。 –

1

ここでHAVING句を使用したくない場合は、WHERE句を使用してテーブルをリンクしてください:

select ward1.ward_id as "ward_id", 
     ward2.ward_name, 
     count(ward1.ward_id) as "No of occurrence" 
    from ward1, 
     ward2 
WHERE ward1.ward_id = ward2.ward_id 
group by ward1.ward_id, 
      ward2.ward_name; 

あなたは本当に、あなたはちょうどJOIN条件を追加する必要があり、SQL-86ではなくSQL-92構文を使用する必要があります:

select ward_id, 
     ward2.ward_name, 
     count(ward_id) as "No of occurrence" 
    from ward1 
INNER JOIN ward2 USING (ward_id) 
group by ward_id, 
      ward2.ward_name; 

はそれが役に立てば幸い...

0
select ward1.ward_id as "ward_id", 
     ward2.ward_name, 
     count(ward1.ward_id) as "No of occurrence" 
from ward1, ward2 
where ward1.ward_id = ward2.ward_id 
group by ward1.ward_id,ward2.ward_name; 
関連する問題