0

1を除いて同じ列を持つ2つのテーブルがあります。たとえば、次のようになります。

Table1 (column names): Student | Course | Exam1 | Exam2
Table2 (column names): Student | Course | Exam3 | FinalExam

これら2つのテーブルを組み合わせて取得したいと思います:

Table: Student | Course | Exam1 | Exam2 | FinalExam

私は次のようなものを持っています:

Select
    student,
    course,
    Exam1, 
    Exam2
From Table1

Select
    student,
    course,
    Exam3, 
    FinalExam
From Table2


Select
    student,
    course,
    Coalesce( t1.Exam1, 0) as Exam1 
    Coalesce( t1.Exam2, 0) as Exam2
    Coalesce( t2.Exam3, 0) as Exam3
    Coalesce( t2.FinalExam, 0) as FinalExam
From Table1 t1, Table2 t2

内部結合を使用してこれをより効率的/簡潔に行う方法はありますか?

4

2 に答える 2

1

あなたの質問からのいくつかの仮定に基づいて、あなたが望むと思うものは次のとおりです。

 select isnull(t1.student, t2.student),  isnull(t1.course, t2.course),
    IsNull( t1.Exam1, 0) as Exam1 ,
    IsNull( t1.Exam2, 0) as Exam2,
    IsNull( t2.Exam3, 0) as Exam3,
IsNull( t2.FinalExam, 0) as FinalExam
From Table1 t1 
   full outer join  Table2 t2 
        on t1.student = t2.student 
            and t1.course = t2.course
于 2013-09-16T20:18:14.220 に答える