名簿のテーブルが下記の構成です。
id 数値の型で主キー
名前 テキストの型
データが次の様になっている。
1 山田
2 太郎
3 花子
ここで、idを順にプラス1してそれぞれを
2 山田
3 太郎
4 花子
と言う様に名簿のテーブルのデータを更新したい。
これを単に
update 名簿 set id=id+1;
では、id=2と3に付いては主キーとなっている為にデータは更新されな
い。なので、一旦idを降順にしたテーブルを作ってから更新クエリを実
行すれば問題は無いと思う。
この様な動作をサブクエリを使って、一つのクエリにしたいのですが。
Access2007のクエリではこの様な事は出来るのでしょうか。
宜しく回答願います。
有難う御座います。
貴方は、何回言っても分からない人ですね。
だから、二段階は駄目だと言って居るでしょう。何回も、何回も。
質問の趣旨を理解していない人の回答は謹んで下さい。
二段階にすれば、出来ると言う事は質問の最初に書いて
いる事は、日本語が分かる人は、当に分かっていますよ。
No.2
- 回答日時:
アクセスが作成するidというオートナンバーのフィールドの値は変更できませんので、
メインキーである限り変更はできません。
有難う御座います。
idは数値の型でオートナンバーでは有りません。
メインキーでも、この場合は、idを降順にした
テーブルで更新クエリを作れば、更新は出来ます。
この場合は二段構えになります。
質問の趣旨は、この二段構えの2つの一連の操作を
一つにまとめてサブクエリを使っての
一発更新クエリをする為のsqlを教えて下さい。
と言う物です。
質問の趣旨を理解してから回答願います。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
Access パラメータクエリをcsv...
-
SQLサーバから、項目の属性(型...
-
sqlで、600行あるテーブルを100...
-
副問合せの書き方について
-
エクセルの関数について教えて...
-
【MySQL】auto_incrementの値を...
-
期間の重複を調べるSQL文につい...
-
上位3位を求めるSQL文は?
-
Updateの複数テーブル条件時のL...
-
VBAでボタンをクリックする方法...
-
inner joinをすると数がおかし...
-
accessに対してSQL文を発行する...
-
select文のwhere句に配列を入れ...
-
WordpressのContact form 7でzi...
-
エラー 1068 (42000): 複数の主...
-
PL/SQLの変数について
-
MySQL NULLだけをカウントして...
-
VIEWの元のテーブルのindexって...
-
Sumで該当データがない場合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
VIEWの元のテーブルのindexって...
-
副問合せの書き方について
-
select文のwhere句に配列を入れ...
-
マイクラPC版のコマンドで効率...
-
SQLサーバから、項目の属性(型...
-
エラー 1068 (42000): 複数の主...
-
[MySQL] 3つのテーブルの結合で...
-
Access パラメータクエリをcsv...
-
SQLにて特定の文字を除いた検索...
-
SQL Left Join で重複を排除す...
-
ストアドのエラーについて
-
Unionした最後にGROUP BYを追加...
-
バインド変数について
-
PL/SQLの変数について
-
sqlで、600行あるテーブルを100...
-
WordpressのContact form 7でzi...
-
selectした大量データをinsert...
-
inner joinをすると数がおかし...
おすすめ情報
有難う御座います。
回答はああすればとか、こうすればとかはでは無くて。
直にsqlを書いて下さい。
この場合の回答は、sqlだけです。この様な事と言うのは、
例えば、mysqlの場合は、
update 名簿 set id=id+1 order by id desc;
で解決します。この様な事がAccess2007の場合は
どうなのかと言う事ですよ。
今迄の回答は、全て回答になっていません。
宜しく、回答願います。
update tbl set id=id+1 order by id desc;
上は間違っていて、
update 名簿 set id=id+1 order by id desc;
です。無いテーブルの更新クエリは最初から
動きませんので。
失礼しました。
サブクエリを使った更新クエリで動かそうとするから
大変なので有って。これを普通に二段階で動かすので
有れば、そんなには難しくは有りません。
然し、他のデータベースではこれは一発の更新クエリ
で動きます。だから、他のが出来るのならば。尚更
Access2007の場合でも動かそうと思いました。
この二段階のやり方に付いては、色々と方法は有ります。
それは、私の悩む所では有りません。その部分は解決
しています。
この問題の一番簡単な解決と言うのは、
降順の選択クエリーを作って、その選択クエリ
に対して更新クエリをする方法です。
この二段構えが一番簡単な方法です。
もう暫くは、このままとしますが。
回答が無いと判断をした場合は即刻閉めさせて
頂きます。
降順の更新クエリは
SELECT * FROM 名簿 ORDER BY id DESC;
idを+1する更新クエリは
UPDATE 降順名簿 SET id = [id]+1;
ここで、別名のaliasのasを使って、降順名簿の所に
何とかして、SELECT * FROM 名簿 ORDER BY id DESC
を持って来ての記述が出来れば。目的は達成すると思うが。
その様な記述が出来るのかを知りたいと言う事です。
私は、sqlでもasを使った記述のsqlを知らない。
asを使えば出来そうな気はしますが。
宜しく回答願います。
UPDATE (SELECT * FROM 名簿 ORDER BY id DESC) AS tbl SET tbl.id = [id]+1;
上記で問題が解決しました。
自己解決しましたので、閉じます。
ShowMeHowさん、この様な回答を何故早急に出さなかったのでしょうか。
これが、私の求める回答ですよ。
今後、この様に他の人の質問に回答をする場合は頓珍漢な回答はしないで下さい。
質問をした人が大迷惑をしますので。
今回の私の場合は、偶々自己解決をしましたので問題は有りませんが。
必らずしも、この様なケースとは限りませんので。自戒を宜しくお願いします。
これにて、閉じます。