他の誰かがこのテーブルを設計しています。SQLを使用して複数の行を挿入する - 数字を手動で増やす問題
あるテーブルから別のテーブルに複数の行を挿入しようとしています。行を挿入するテーブルにはIDがありますが、自動インクリメントはしません。私は行を挿入すると手動でIDをインクリメントする方法を理解できません。現在のコードはエラーをスローします:
Error running query. Page15.CaseSerial is invalid in the select list becauseit is not contained in either an aggregate function or the GROUP BY clause.
私はGROUP BY句を追加してみましたが、成功しませんでした。ここで
はコードです:
insert into page4 (serial, caseserial, linkserial, type, add1, add2, city, state, orgname, prefername, email, firstname, lastname, salutation, contactstatus, workphone, notes, cellphone, nametype, homephone, fax, zip, payments)
select id = max(serial), caseserial, linkserial, type, add1, add2, city, state,
orgname, prefername, email, firstname, lastname, salutation, contactstatus,
workphone, notes, cellphone, nametype, homephone, fax, zip, payments
from page16
私はpage4から最高のIDを取得するために何かを書くと次の最高を挿入することができれば、それはいいだろう。
ありがとうございます!
SQLの味は?あなたが使用しているRDBMによって解決方法は異なります – Andrew
これはMSFTデータベースの場合、これに対するマイクロソフトのアプローチに関する記事です。 http://support.microsoft.com/kb/273586 – xQbert
データベースにはどのようなサーバーまたは環境が使用されていますか?たとえば、MS AccessはSQLクエリでDMin()やDMax()ルックアップ関数をサポートしているので、私は尋ねています。ご使用のサーバーがユーザー定義のスカラー関数をサポートしている場合は、それらの関数を便宜的に実装してSQL照会で使用することができます。 –