0

次の構造を持つ 3 つのテーブルがあります。T1 としての AuditCheckCriteria、T2 としての学習者、および T3 としての LearnerAuditRegistrations です。

  T1: CheckID     CheckName                      
          1       'Stage One'
          2       'Stage Two'
          3       'Stage Three'

  T2   LearnerID   LearnerName
          10         'John'
          11         'Peter'
          12         'Paul'

  T3: LearnerAuditID  LearnerID  CheckID
          1             10         1
          2             10         2
          3             11         1
          4             11         2
          5             11         3

次の出力が必要です。

T2.LearnerID, T1.CheckID, T3.CheckID
      10           1           1
      10           2           2
      10           3          NULL
      11           1           1
      11           2           2
      11           3           3
      12           1          NULL
      12           2          NULL
      12           3          NULL

(T2 と T3 にはそれぞれ 20000 行以上が含まれます)

どんな助けでも大歓迎です!

4

2 に答える 2

1

T1 と T2 からの値のすべての組み合わせと、T3 からのルックアップが必要なようです。その場合、次のようにします。

with t1vals as (select distinct checkID from t1),
     t2vals as (select distinct LearnerId from t2)
select t2vals.LearnerId, t1vals.CheckId, t3.CheckId
from t1vals cross join
     t2vals left outer join
     t3
     on t3.LearnerId = t2vals.LearnerId and
        t3.CheckId = t1vals.CheckId
于 2012-07-24T14:20:06.340 に答える
0

(T2 交差結合 T1) 左結合 T3 を使用します。

于 2012-07-24T14:18:49.803 に答える