• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLだけでselect結果に定数を加算して別TBLに保存可能?)

SQLでselect結果に定数を加算して別TBLに保存可能か

このQ&Aのポイント
  • 特定条件でselectした結果を別テーブルに保存する際に、固定の値を追加して保存したい場合、SQLだけで可能かどうかについて質問させていただきます。
  • MYSQL5+PHP5の環境下で、「A_TBL」というテーブルから特定条件でデータを取得し、「B_TBL」という別のテーブルに保存するSQLを考えています。
  • 「B_TBL」への追加時に、保存するデータの一部に固定の値「10」を加算したいと思っており、それがSQLだけで実現可能かどうかを教えていただきたいです。もしSQLだけでは難しい場合は、PHPで1行ずつ処理する方法も考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

下記SQLは試してみましたか? REPLACE INTO B_TBL(gid,uid) SELECT gid + 10,uid FROM A_TBL WHERE flg != 1;

marokun
質問者

お礼

即答ありがとうございます。 出来ました。質問前に同様のことをやりましたが、+10の前にスペースを入れたせいか、1064:syntax errorとなっておりました。 SQLだけで解決できて工数削減できました。 有難うございます。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

REPLACE INTO B_TBL(gid,uid) SELECT gid+10,uid FROM A_TBL WHERE flg != 1; こんなん出来ませんでしたっけ? 一律。でいいんですよね。 MySQLユーザーじゃないのでそっちの仕様で出来ない。だとちっとアレですが。。。 MSのSQL(Postgresでしたっけ)ならできるんですけどねぇ。 こっちだと insert into B_TBL(gid,uid) select gid+10,uid from A_TBL where flg <> 1 とかになるのかな。。。

marokun
質問者

お礼

すばやい即答、ありがとうございます。 出来ました。 SQLだけで解決できて工数削減できました。 有難うございます。

関連するQ&A