• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL について質問です。)

SQLのSELECTで特定のフィールド以外の全てのフィールドを指定する方法はあるのでしょうか?

このQ&Aのポイント
  • T_StandardListからフォームのIDに一致するデータを抽出し、T_TempListに全てのフィールドを挿入したい場合、IDフィールド以外のフィールドをSELECTする方法を探しています。
  • T_TempListにはIDフィールドがないため、INSERT INTO T_TempList SELECT * FROM T_StandardList WHERE ID = [ID]とするとエラーになってしまいます。ただし、フィールド数が多くなるため、メンテナンス性が悪くなります。
  • より良い案やアドバイスがあれば、教えていただきたいです。

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

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

DBシステムが記述されていないので、困るのですが、 以下のように4回のSQLを実行すれば良いでしょう。 SELECT * INTO xx FROM StandardList WHERE ID=[ID]; ALTER TABLE xx DROP ID; INSERT INTO T_TempList SELECT * FROM xx; DROP TABLE xx; 解説 (1)StandardListの抽出分をコピー (2)コピーしたテーブルからIDフィールドを削除 (3)上記のコピーテーブルからT_TempListに挿入 (4)コピーテーブルを削除 尚、DBシステムにより、テーブル管理情報を取得できれば INSERT INTO (F1,F2,…) SELECT F1,F2,…のような SQLを動的に形成できる方法もあります。 これを参考にする人もいるので、DBが何かは必ず記載 してください。

abuhiro
質問者

お礼

非常に参考になりました。 なお、DBはAccess2007 ADODBです。 上記ソースをそのまま利用させていただきます。 ありがとうございました。m(_ _)m

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

はじめまして。 実際に試してはいないのですが、 INSERT INTO T_TempList SELECT null, * FROM T_StandardList WHERE ID = [ID] で求める結果が得られるのではないでしょうか?

すると、全ての回答が全文表示されます。
noname#111181
noname#111181
回答No.1

RDBMSによってはあるかもしれませんが、一般的なSQL(SQL92)にはありません。

すると、全ての回答が全文表示されます。

関連するQ&A