- 締切済み
自分自身のテーブルを参照して更新
ORACLEで簡単にできたのがSQLServerで上手くできなくて困っています。 下のようなSQLです。SQLServerでUPDATE時に別名を付けようとすると エラーになってしまいます。良いSQLをご教授頂ければ、と思います。 update emp e set sal= (select max(ee.sal) from emp ee where e.deptno=ee.deptno)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
このUPDATE文の意味を説明できますか? 相関名eとeeを使っていますが、列deptnoは更新される訳ではない。 UPDATEでは条件指定もなく、全件更新。 やりたいことは何でしょうか? それが分かれば、代替手段も提案できるかも知れません。 特定のRDBMSの構文を示されただけでは、両方のRDBMSに精通している人にしか、回答できない場合もあります。
お礼
まさに上記SQLの処理をSQLServerで実行したいのですが…。 >列deptnoは更新される訳ではない。 >UPDATEでは条件指定もなく、全件更新。 もちろんです。それはこのSQLの意図とは全く関係ありません。 やりたいことを説明するために、実際にORACLEで動作する SQLを提示しました。「Oracleも理解できるかた限定」と したほうが良かったかも知れないですね。 このサイトは知っている人が知っていることを教えてくれる、 という趣旨かと思っていたもので…。大変失礼しました。