2017-02-03 14 views
0

とSASのエラーを再度開くことができませんここではt1.A = t2.A and t1.B = T2.Bです。は、私は2つのテーブルを持っているSQL

これは簡単なことですが、私はこれを解決することはできません。

update t1 set A = (select t2.N 
        from t1,t2 
        where t1.A = t2.A 
         and t1.B = t2.B) 
...... 

しかし、これは誤りなります:

ERROR: You cannot reopen t1.DATA for update access with member-level control because t1.DATA ..... 

任意のアイデアを、私のようなものを試してみましたか?

+0

私は少し質問をクリアしようとしました。 – agold

答えて

1

私はあなただけで相関サブクエリたい疑う:

update t1 
    set A = (select t2.N 
      from t2 
      where t1.A = t2.A and t1.B = t2.B 
      ); 

注:あなただけの1行サブクエリが返すことに注意する必要があります。

0

構文エラーの他に、出力データセットがまだウィンドウで開いているため、ERROR: You cannot open WORK.T1.DATA for output access with member-level control because WORK.T1.DATA is in use by you in resource environment DATASTEP.が表示されています。再実行する前にVIEWTABLE:Work.T1を閉じます。

+0

私はそれがSQLエンジンだと思ったので、私は実行前にウィンドウを閉じたことを確信しています問題、とにかく:ヒントをありがとう。 – derbestederbesten

関連する問題