プロが教えるわが家の防犯対策術!

いつもご回答ありがとう御座います。
UPDATE文だと思うのですが、以下の内容でデータを更新する場合はどうしたら良いでしょうか?ご指南よろしくお願いします。

今回SQL2000の中に、AとBの2つのデータベースがあり、AとB両方に顧客マスタというテーブルがあります。 

Aには顧客番号1、顧客番号2、顧客番号3、と3つの列があります。

Bには顧客番号という列しかありません。

(AとB両方に共通する識別番号があります。(登録No的な) )

データ的には、Bには「AAA123DD」といった顧客番号があります。
Aは空です。

このBの顧客番号「AAA123DD」を、
Aの顧客番号1に「AAA」、顧客番号2に「123」、顧客番号3に「DD」、といった形で振り分けてコピーしたいです。

桁数は決まっているので、顧客番号1は左から何桁、といった指定は出来ます。

聞ける人が居ないので、何卒・・・・宜しくお願いいたします。


  

A 回答 (4件)

>UPDATE文だと思う



insertしたいのでは?
それとも、通番などを振った行を予め格納して、それをupdateしたいといった要件でもあるのですか?


insert into A."顧客マスタ"("顧客番号1","顧客番号2","顧客番号2")
select
substring("顧客番号",1,3)
,substring("顧客番号",4,3)
,substring("顧客番号",7,2)
from B."顧客マスタ"
    • good
    • 0

Aは空なのであれば、INSERTしなければいけないですよね。



INSERT INTO A.顧客マスタ (顧客番号1, 顧客番号2, 顧客番号3)
SELECT
SUBSTRING(顧客番号,1,3)
SUBSTRING(顧客番号,4,3)
SUBSTRING(顧客番号,7,2)
FROM B.顧客マスタ;

みたいな感じでしょうか。
データベースA、Bというのがどういう意味合いなのかが分かりませんが、
AからBの顧客マスタを見れる状態になっていなければいけませんね。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとう御座いました
一番シンプルだったので、参考になりました

お礼日時:2011/05/16 20:05

失礼。



識別番号というのがあったのですね。
    • good
    • 0

Update A set A.顧客番号1=SUBSTRING(B.顧客番号,1,3),A.顧客番号2=SUBSTRING(B.顧客番号,4,3),A.顧客番号3=SUBSTRING(B.顧客番号,7,2) FROM A INNER JOIN B ON A.No=B.No



でしょう。検証して無いのでためして。
    • good
    • 0
この回答へのお礼

多分私のせいなんですが、エラーで実行できませんでした・・・・・が、
SUBSTRINGを使うんだな~とヒントを元に、何とか出来ました。
最初に回答いただけたので、ベストアンサーと致します。
皆様、ありがとうございました。

お礼日時:2011/05/16 20:04

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

関連するカテゴリからQ&Aを探す