トップページprog
12コメント2KB

SQL文

■ このスレッドは過去ログ倉庫に格納されています
0001もちかおNGNG
同じ構造のテーブルがあるとします(いずれもキーはID)。
 テーブルA[ID@`Value]
 テーブルB[ID@`Value]
 テーブルC[ID@`Value]
テーブルAにないレコードをテーブルBからテーブルCに
コピー(INSERT)するにはどうしたらいいのでしょうか?

INSERT INTO テーブルC
SELECT * FROM テーブルB WHERE 〜

のWHERE以下の問題だと思うんですが・・・。
0002名無しさん@1周年NGNG
MINUS
0003名無しさん@1周年NGNG
WHERE id=(SELECT B.id FROM テーブルA A@`テーブルB B WHERE A.id(+)=B.id AND NVL(A.id@`"")="")
0004もちかおNGNG
'(' の近くに不正な構文があります。
って出ますが・・・。
実行の仕方がおかしいんでしょーか?

あと、こういうSQL文の文法関係でどっかいいHPあったら
教えてください。
0005名無しさん@1周年NGNG
WHERE id in (SELECT B.id FROM テーブルA A@`テーブルB B WHERE A.id(+)=B.id AND NVL(A.id@`"")="")
0006名無しさん@1周年NGNG
DBと接続方法は何ですか?
0007アンチVBユーザNGNG
参考:MS-Access97ではWhere句の中のSelectは許されていません。
0008もちかおNGNG
あ、すんません。
WinNT4
 SQLサーバー6.5
 サービスパック5a
です。
接続方法?
プログラム内では
 Set コネクション = Server.CreateObject("ADODB.Connection")
 コネクション.Open データソース名@`ID@`パスワード
こうなってます。
いかんせん、ダメプログラマーなもんで・・・。
0009もちかおNGNG
もう1つ大事なことを忘れてた。
言語はASPです。
0010>7NGNG
MS-ACCESS97使用で、
Where句の中のSelect文については
In句を使ったサブクエリー(もちろんSelect使用)であれば
使用できる(許されてます)。
001110NGNG
それと、Where以降のSelect文の結果が1レコードしか返さない
場合は、inじゃなく3さんの方法でも可能なはず。
0012名無しさん@1周年NGNG
http://www.ngy1.1st.ne.jp/~pinball/
http://www.mars.dti.ne.jp/~o-shin/
■ このスレッドは過去ログ倉庫に格納されています