- 締切済み
SQLの条件式の作成に関して
PL*SQLを作成しているのですが うまくいかず質問させていたたくことにしました。 SQL初心者ですがよろしければご教示ください。 テーブル名 カラム名 TMP DATA,TIME LIST NO,WNO BOOK SNO,TITLE 上記をふまえた上で DATAへNOをUPDATEかけたいのですが その条件は ・BOOK.SNO=LIST.WNOかつTMP.TIME=LIST.WNOのLIST.NOの抽出 ・TMP.TIME is not null ・BOOK.TITLE is not null ・distinct TMP.DATA ・TMP.DATA is not null 以上です。 どなたかよろしくお願いしますm(_ _)m
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
>BOOKテーブルだけは他の二つのDBとは別なので >いつもbook@serialで呼び出しているのですが どうして最初に書かないのか理解に苦しみます。 update tmp set data=(select no from list,book@serial where book.sno=list.wno and tmp.time=list.wno) where not(data is null)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
条件の >・distinct TMP.DATA が意味不明ですが・・ update tmp set data=(select no from list,book where book.sno=list.wno and tmp.time=list.wno) where not(data is null) で良いように思うのだけど。
補足
ご回答ありがとうございます! >distinct・・ これは別のSQLでの話と混在させてしました。申し訳ありません。 一つ書き忘れたものがありまして BOOKテーブルだけは他の二つのDBとは別なので いつもbook@serialで呼び出しているのですが 回答していただいたSQL文の中のbookに@serialを つければ呼び出せますでしょうか?
お礼
ありがとうございました! すいませんイマイチよくわかっておりませんでした。 必要だと注意されて気がついたもので・・・ あとすいませんやっぱりdistinct必要でしたm(_ _)m あとは自分で考えて見ます。 回答ありがとうございました。