0

スキーマ member(memb_no, name, age)、book(isbn、title、authors、publisher)、およびboreded(memb_no, isbn, date) を使用して、次のクエリを実行します。唯一の問題は、一意の構成を使用することになっていないことです。一意の構成を使用せずにこれを書き直すにはどうすればよいですか?

Select T.course_id 
From course as T 
Where unique (select R.course_id 
       From section as R 
       Where T.course_id = R.course_id and R.year = 2009);
4

5 に答える 5

3

あなたはすでに他の有効な答えを持っていますが、私の好みの形式は次のとおりです。

Select T.course_id 
From course as T 
Where (Select Count(*)
       From section as R 
       Where T.course_id = R.course_id and R.year = 2009) = 1;
于 2012-03-05T19:55:05.527 に答える
1

unique結合するサブクエリとしてクエリを書き直すだけcourseです:

select t.course_id
from course as t
join(
    select course_id
    from section
    where year=2009
    group by course_id
    having count(1)=1
)r
on (t.course_id=r.course_id);
于 2012-03-05T19:50:09.133 に答える
1

私の頭の上から:

Select T.course_id 
From course as T 
Where exists(select R.course_id 
       From section as R 
       Where T.course_id = R.course_id and R.year = 2009
       group by course_id having count(*)=1);
于 2012-03-05T19:51:28.823 に答える