Mysqlでinsertとselectをネストする方法
922 ワード
昨日突然臨時の小さな需要がありました.私たちのapolloパラメータが生産された後、リスクがある可能性があるので、返品案を設計します.この案は、古いデータをテンポラリ・テーブルに保存し、生産開始後に問題が発生した場合、テンポラリ・テーブルから数を調べて返品するテンポラリ・テーブルを構築することです.もちろんこれらはsqlスクリプトで実現されます.次にネストしたinsertとselectの使い方をお見せします~
一、単一テーブルネストinsertとselect
挿入するテーブルがtable 1(id,key,value),検索するテーブルがtable 2(id,key,value,...)であると仮定し,ここではすべてのフィールドを挿入しました.
二、マルチテーブルネストinsertとselect
挿入するテーブルがtable 1(id,key,value),検索するテーブルがtable 2(id,key,value,...)であると仮定し,table3 (id,key,value,....)
ここではinsertの挿入値として結果セットに別名を付ける必要があります.
好きな友达はコメントしてもいいですよ~~
一、単一テーブルネストinsertとselect
挿入するテーブルがtable 1(id,key,value),検索するテーブルがtable 2(id,key,value,...)であると仮定し,ここではすべてのフィールドを挿入しました.
insert into table1
select t2.id , t2.key , t2.value
from table2 t2
where t2.key = 'xxx';
二、マルチテーブルネストinsertとselect
挿入するテーブルがtable 1(id,key,value),検索するテーブルがtable 2(id,key,value,...)であると仮定し,table3 (id,key,value,....)
ここではinsertの挿入値として結果セットに別名を付ける必要があります.
insert into table1
select * from (
select t2.id , t3.key ,t3.value
from table2 t2
join table3 t3
on t2.key = t3.key)
as temp;
好きな友达はコメントしてもいいですよ~~