• 締切済み

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

みんなの回答

回答No.2

>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)

malot
質問者

お礼

ありがとうございました! すいませんイマイチよくわかっておりませんでした。 必要だと注意されて気がついたもので・・・ あとすいませんやっぱりdistinct必要でしたm(_ _)m あとは自分で考えて見ます。 回答ありがとうございました。

回答No.1

条件の >・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) で良いように思うのだけど。

malot
質問者

補足

ご回答ありがとうございます! >distinct・・ これは別のSQLでの話と混在させてしました。申し訳ありません。 一つ書き忘れたものがありまして BOOKテーブルだけは他の二つのDBとは別なので いつもbook@serialで呼び出しているのですが 回答していただいたSQL文の中のbookに@serialを つければ呼び出せますでしょうか?

関連するQ&A

専門家に質問してみよう