エンジニア的な技術的なブログ

webエンジニアの開発の知見を書きます。PHP、javascript、postgres、mysql、あと多少のインフラ周りとか。

SELECTした結果をそのまんまINSERTできる

これまたよくあるパターンです。

 

テーブル Aを検索して、集計などなどして、

テーブル Bに結果をINSERTしたい。

 

ていうケースについて

結論こんな感じです

 

 >|sql|

INSERT INTO

     dtb_category_range_count 

SELECT 

    range_id, count(product_id) AS cnt 

FROM 

    dtb_products 

WHERE 

    del_flg = 0

AND

    status_id = 1 

GROUP BY 

 

range_id, category_id

||< 

 

意外と知らずにやっている人も多いらしい、このSQL

そしてwebエンジニア界隈,,,

 

 

INSERTのVALUESって実はもともと特殊なSELECT文らしいぞ!

あんまり深い部分では理解してないけど...