アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQL抽出方法に悩んでいます。


SQL初心者です。

以下の抽出方法でどのようにSQLを作成したらよいのか悩んでいます。

(TABLE1)
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1
1000,000002,山下次郎,100-0002,△△町2-2
1000,100001,佐藤三郎,100-0003,□□町3-3
2000,000003,村井四郎,200-0001,▽▽町1-1

(TABLE2:処理前)
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1

TABLE1とTABLE2を比較します。
TABLE1のデータのうち、営業所が1000、顧客番号が000001~099999(先頭がゼロ)のものを絞り出し、
TABLE1にしか存在しないものをTABLE2に追記するプログラムを作りたいのですが、
組み方が分からなくて悩んでします。

(TABLE2:処理後)
営業所,顧客番号,氏名,郵便番号,住所
1000,000001,田中太郎,100-0001,○○町1-1
1000,000002,山下次郎,100-0002,△△町2-2

TABLE2(処理後)のような結果を出したいのですが、
どのように構築したらいいのでしょうか。

A 回答 (3件)

解決したんじゃなかったっけ?

    • good
    • 0
この回答へのお礼

oracleのほうで質問すべきものをSQL Serverで質問していましたので、改めて質問させて頂きました。
複数の掲示となってしまい、大変失礼しました。

お礼日時:2018/07/30 23:16

INSERT INTO TABLE2(営業所, 顧客番号, 氏名, 郵便番号, 住所)


SELECT 営業所, 顧客番号, 氏名, 郵便番号, 住所 FROM TABLE1
WHERE 営業所 = '1000' AND 顧客番号 BETWEEN '000001' AND '099999'
AND NOT EXISTS(SELECT * FROM TABLE2
WHERE TABLE1.営業所 = TABLE2.営業所 AND TABLE1.顧客番号 = TABLE2.顧客番号)

ってか、前回の回答とほぼ同じですけど...
    • good
    • 1
この回答へのお礼

oracleのほうでも回答して頂き、ありがとうございました。

処理後の結果が、私が出したかった内容にほぼ合致しましたので、無事に導くことができました。

お礼が遅くなり、大変申し訳ございませんでした。

お礼日時:2018/07/30 23:22

前回の回答は参考にならなかったということでよいですか?



https://oshiete.goo.ne.jp/qa/10630035.html
    • good
    • 1
この回答へのお礼

oracleにて質問するべきことをSQL Serverで質問してましたので、再度掲示させていただきました。
前回の回答が参考にならなかったとかではありませんし、お礼が遅くなりましたが様々な考え方があるんだなととても参考になっています。
大変失礼しました。

お礼日時:2018/07/30 23:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!