- ベストアンサー
更新クエリー活用方法とは?
- 更新クエリーを使って特定の商品のフラグを更新する方法を教えてください。
- クエリー名:抽出で引っ張ってきたデータにあるフラグの列に「更新クエリー」で1の数値を入れたいです。
- update抽出元のテーブル set 任意のセル = 1 where 抽出の条件 とする方法でも、全てのテーブル列に1がふられてしまいます。どのようにすればクエリーで抽出されたデータにのみ1を振れますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
updateの構文は UPDATE table SET newvalue WHERE criteria; tableにはクエリも指定できます。 質問の場合はクエリですでに抽出しているので WHERE句は必要なくなります。 --- update 抽出 set フラグ = 1 --- また"抽出"クエリを使わないのであれば update 商品名 set フラグ = 1 where 抽出条件 抽出条件には"抽出"クエリで指定している条件 つまり"抽出"クエリのWHERE句の部分を使えば よいです。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
http://okwave.jp/qa/q7277790.html の#1・#2です。 http://okwave.jp/qa/q7278856.html の#4です。 > これにたいして選択クエリーを使って、特定の商品だけを > クエリーで引っ張ってきています。 > クエリー名:抽出 このクエリの内容が提示されてませんよ。 これをデザインビュー>SQLビューと切り替えて表示してください。 参照する列と、選択する条件(where条件)を見れますので。 要は「[クエリー名:抽出]の[WHERE条件]をupdate文の[where条件]にコピーしてください」 と申し上げているんですよ。 どうしても以下の書き方をしたいなら、 [クエリー名:抽出]を列[ID]だけ選択できるように変更した上で ※~※の間を置き換えてください。 update 商品名 set フラグ = 1 where ID in ( select ID from 商品名 where ※この部分を[クエリー名:抽出]のWHERE内容と置き換え※ ) ; です。
- o_chi_chi
- ベストアンサー率45% (131/287)
#1ですが テーブル名には "T_" クエリ名には "Q_" 等を先頭につけると自分でも他の人にも わかりやするなります。