
SQL初心者です。
以下の抽出方法でどのようにSQLを作成したらよいのか悩んでいます。
(TABLE1)
営業所,顧客番号,氏名
1000,000001,田中太郎
1000,000002,山下次郎
1000,100001,佐藤三郎
2000,000003,村井四郎
(TABLE2:処理前)
営業所,顧客番号,氏名
1000,000001,田中太郎
TABLE1とTABLE2を比較します。
TABLE1のデータのうち、営業所が1000、顧客番号が000001~099999(先頭がゼロ)のものを絞り出し、
TABLE1にしか存在しないものをTABLE2に追記するプログラムを作りたいのですが、
組み方が分からなくて悩んでします。
(TABLE2:処理後)
営業所,顧客番号,氏名
1000,000001,田中太郎
1000,000002,山下次郎
TABLE2(処理後)のような結果を出したいのですが、
どのように構築したらいいのでしょうか。e

No.2ベストアンサー
- 回答日時:
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.顧客番号)
(顧客番号が営業所なしでユニークならサブクエリ内の営業所の条件は省略可)
詳しい構文にて回答していただき、ありがとうございました。
顧客番号がユニークではないため、営業所条件は必要となりますので、
参考にさせていただき実行できるか試してみます。
No.4
- 回答日時:
> 営業所+顧客番号でユニーク
であれば、以下でいけませんか?
insert ignore into TABLE2
select * from TABLE1 where
営業所='1000' and '顧客番号' between '000001' and '099999'
回答して頂き、ありがとうございました。
imsert ignore~でも追加できそうです。勉強になります。
お礼遅くなってしまい、申し訳ございませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【続続】Access2002で連番のつ...
-
accsessで顧客コードで氏名を呼...
-
Access クロス集計クエリについて
-
Access2000 更新のタイミング?
-
顧客IDを入力すると顧客名や住...
-
ACCESS検索★ある文字を複数のフ...
-
Excel 2019 のピボットテーブル...
-
【Access】フォームで自動計算...
-
OCNのwebメールを開くとき、シ...
-
保存された情報として表示され...
-
再計算って出来ますか?
-
Accessで、複数のテーブルで随...
-
Accessのクエリでデータの入力...
-
どれがPrimary Key、ForeignKey...
-
datファイルからaccessにインポ...
-
下記の事を行うSQLがわかりませ...
-
Countと受付状態の表示に...
-
デザインビューで、連結式 を...
-
カウントが出来ません
-
Vbaでアクセスからエクセルにリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accsessで顧客コードで氏名を呼...
-
【続続】Access2002で連番のつ...
-
Access クロス集計クエリについて
-
Access2000 更新のタイミング?
-
Access フォームのデータがテー...
-
Access IF文でテーブルに存在し...
-
ADOでレコードを閉じるタイミン...
-
Access VBAでクエリーのレコー...
-
顧客IDを入力すると顧客名や住...
-
シングルクォーテーションとダ...
-
ワードでの単純作業の効率化に...
-
ACCESS で マクロの中でフィ...
-
Access 縦(行)のデータを横(列)...
-
データベースの1要素に複数デー...
-
ワードで保存するファイル名の...
-
Access2000 単票フォーム上の...
-
結合
-
Access 既に開いているフォー...
-
Accessでの顧客管理DB作成方法...
-
SQL エクセルシート別の項目...
おすすめ情報