
No.3ベストアンサー
- 回答日時:
UPDATE A SET A.フィールド =
(SELECT decode(B.フィールド,'X',B.フィールド,'Y') FROM B WHERE Bの条件)
where Bの条件
;
とか
UPDATE A SET A.フィールド =
(SELECT case when B.フィールド='X' then B.フィールド else 'Y' end FROM B WHERE Bの条件)
where Bの条件
;
テーブルBに合致するレコードがない場合に、どうするか考えれて、SQLを書かねばなりません。
上記の例は、合致するレコードがなければ何もしないSQLです。
この回答へのお礼
お礼日時:2008/08/18 08:59
ありがとうございました。
皆さんの回答を参考にさせていただきました
また、夏休み中にネット環境から離れていたためにお礼が遅くなったことをお詫びいたします。
No.2
- 回答日時:
No.1です。
NVLの位置まちがえました。UPDATE A SET A.フィールド =
NVL((SELECT
(CASE WHEN B.フィールド='X' THEN B.フィールド ELSE 'Y' END)
FROM B WHERE Bの条件=Aのキー),'Y')
この回答へのお礼
お礼日時:2008/08/18 08:58
ありがとうございました。
実際には条件が複雑なので、そのままとは行かず苦労しましたが、
おかげで解決できました。
また、夏休み中にネット環境から離れていたためにお礼が遅くなったことをお詫びいたします。
No.1
- 回答日時:
できます。
Bに該当するものがない場合でもYを入れるにはNVLもかけておくと無難です。
UPDATE A SET A.フィールド =
(SELECT
NVL((CASE WHEN B.フィールド='X' THEN B.フィールド ELSE 'Y' END),'Y')
FROM B WHERE Bの条件=Aのキー)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルデータをワードで差し...
-
Accessのハイパーリンクをクリ...
-
ACCESSでの文字数カウント
-
エクセルにおける「フィールド...
-
Accessの日本語フィールド名
-
Acsess アクセス のクエリで...
-
「Access2007」でレポートが作...
-
ACCESSでフィールドに-(ハイフ...
-
クエリで割り算する方法を教え...
-
クエリーで、全角混じりデータ...
-
アクセスの操作について
-
フィールドの更新がない
-
レコード数のカウント
-
実行時エラー '3464': 抽出条件...
-
奇数・偶数ページごとに差し込...
-
VBAよりCSVファイルの任意の行...
-
Word差し込み印刷のハイフン(...
-
AccessでVal関数を利用
-
ACCESSで条件によってフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
Acsess アクセス のクエリで...
-
エクセルデータをワードで差し...
-
クエリで割り算する方法を教え...
-
ACCESSで条件によってフォーム...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
「Access2007」でレポートが作...
-
フィールドの更新がない
-
Accessのハイパーリンクをクリ...
-
カレントフィールドの、青い枠...
-
ACCESS 重複データを1...
-
varchar型の入力できる最大文字...
-
実行時エラー '3464': 抽出条件...
-
ACCESSで複数の写真ファイルを...
-
Access クエリの編集について
-
ワードファイルの文字数制限ロ...
-
ACCESSでフィールド名の変更(...
-
エクセルのピポットテーブルで...
おすすめ情報