web-dev-qa-db-fra.com

sélectionner dans une table, insérer dans une autre table Oracle sql query

J'essaie de sélectionner les données d'un tableau
et insérez les données dans une autre table

    SELECT ticker FROM tickerdb;

J'utilise OracleSql
Obtenir le symbole "GOOG" dans la table tickerdb,
et insérez le t.ticker dans la table stockdb.

sélectionner dans la table tickerdb -> insérer dans la table 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

De la documentation Oracle, la requête ci-dessous l'explique mieux

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

Vous pouvez lire ceci lien

Votre requête serait la suivante

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

Remarque: assurez-vous que les colonnes insérées et sélectionnées sont à la bonne position selon vos besoins.

J'espère que cela t'aides!

44
Keerthivasan

Vous pouvez utiliser

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

Vous obtiendrez des informations utiles de ici .

SELECT ticker
INTO quotedb
FROM tickerdb;
4
KethanKumar

essayez cette requête ci-dessous:

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