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

すみません、緊急で調べる時間があまりなくてお尋ねします。
次のDBが2つあります。

データベース名:A_DATA
内容  名前
    番号
    登録年月日

これには既にデータが投入されています。

そして

データベース名:B_DATA
内容  名前
    番号
    住所
    電話
    国籍

とあった場合B_DATAにinsertを行うのですが、
その際のデータの内容はA_DATAの内容を検索してその
値を投入したいのです。
A_DATAの検索条件は登録年月日が本日のもので
B_DATAの名前と番号の値は

名前=A_DATAの名前
番号=A_DATAの番号


でINSERTしたいのです。


意味がわかりますでしょうか?
多量にデータがあるのでなんとかうまいSQLを考えてるのですが、あまり詳しくないもので。。。
すみません誰かよろしくお願いします。

A 回答 (4件)

>それではOracleの場合



#2の方の回答は間違ってます。SQLエラーになります。
valuesの中にselectは記述できませんし、
CURRENT_DATEなんてキーワードありません。

insert into b_data select 名前, 番号 from a_data
where 登録年月日 = truc(sysdate)

または、

insert into b_data (名前, 番号) select 名前, 番号 from a_data
where 登録年月日 = truc(sysdate)

です。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうぎざいました。
皆さんの回答を参考にさせて頂きSQLが組めました。
ありがとうございました。

お礼日時:2003/08/05 22:05

>それではOracleの場合



Oracleなら、

(A) TRUNCATE TABLE B_DATA;
(B) DROP TABLE B_DATA;

のどちらでもOKです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
皆さんの回答を参考にさせていただき、SQLが組めました。ありがとうございました

お礼日時:2003/08/05 22:06

それではOracleの場合



INSERT INTO B_DATA
("名前", "番号") VALUES (
SELECT "名前", "番号" FROM A_DATA
WHERE "登録年月日" = CURRENT_DATE)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
皆さんの回答を参考にさせていただき、SQLが組めました。ありがとうございました。

お礼日時:2003/08/05 22:05

質問の意味は良くわかるのですが・・・



DBは?
緊急でといっても、最低これくらいは書かないと、
ご希望の回答は得られないですよ。
逆に、最終的な回答をもらえるのが遅くなりますよ。

あと、年月日のフィールド型は?
住所と電話と国籍は何を入れるんですか?

>データベース名:A_DATA
テーブル名ですよね?


と、情報が足りなさ過ぎるので、勝手に条件をつけます。
DBはAccess
登録年月日はDate型
住所と電話と国籍にはNULL
なら、

insert into b_data select 名前, 番号 from a_data
where 登録年月日 = date()

となります。
    • good
    • 0
この回答へのお礼

お礼が遅くなりすみません。
確かに情報不足・説明不足でした、すみません。
DBはSybaseでした。
上記を参考にさせていただき、SQLが組めました。
ありがとうございました。

お礼日時:2003/08/05 22:03

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