web-dev-qa-db-ja.com

1つのテーブルから選択し、別のテーブルに挿入するOracle SQLクエリ

1つのテーブルからデータを選択しようとしています
別のテーブルにデータを挿入します

    SELECT ticker FROM tickerdb;

私がしようとしているOracleSqlを使用して
tickerdbテーブルからティッカーシンボル「GOOG」を取得し、
そしてt.tickerをstockdbテーブルに挿入します。

tickerdbテーブルから選択-> quotedbテーブルに挿入

    INSERT INTO quotedb
    (t.ticker, q.prevclose, q.opn, q.rnge,
    q.volume, q.marketcap, q.dividend, q.scrapedate)
    VALUES (?,?,?,?,?,?,?,?,SYSDATE)
    tickerdb t inner JOIN quotedb q
    ON t.ticker = q.ticker
17
user3003451

Oracleのドキュメントから、以下のクエリはそれをよりよく説明しています

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

これを読むことができます link

クエリは次のようになります

//just the concept    
    INSERT INTO quotedb
    (COLUMN_NAMES) //seperated by comma
    SELECT COLUMN_NAMES FROM tickerdb,quotedb WHERE quotedb.ticker = tickerdb.ticker

注:挿入および選択の列が要件に従って正しい位置にあることを確認してください

お役に立てれば!

44
Keerthivasan

使用できます

insert into <table_name> select <fieldlist> from <tables>
12
vkamayiannis

here から有用な情報を取得できます。

SELECT ticker
INTO quotedb
FROM tickerdb;
4
KethanKumar

以下のクエリを試してください:

Insert into tab1 (tab1.column1,tab1.column2) 
select tab2.column1, 'hard coded  value' 
from tab2 
where tab2.column='value';
1
Rajasekahr