プロが教える店舗&オフィスのセキュリティ対策術

いつも助けてもらってます。
皆様ありがとうございます。

以下の内容で1つのテーブルを更新するクエリを作りたいのですが、どうしたら良いでしょうか?
本見て自力で考えれば良いんでしょうが、、、、よろしくお願いします。

1つのテーブル、「A」があるとしまして、その中には会員Noや、SEQ、Point、Point2といった
列があります。
1つの会員Noに、3つの行、SEQ1~3が必ずあります。
更新したい行はSEQ1だけです。
Pointは整数で、Point2は小数点第一位までの表記です。

テーブルA

会員No  SEQ   Point   Point2
1001     1     20    99.0
1001     2     30    99.0
1001     3     50    15.5
1002     1     99    10.2
1002     2     99    21.6
1002     3     99     10.0

やりたい事は、
SEQ1の中で、
Pointが99以外でPoint2が99.0なら、Point2へPointの数値を移したい。
Pointが99でPoint2が99.0以外なら、PointへPoint2の四捨五入した数値を移したい。
要するに、SEQ1のPoint,Point2、片方だけ99、という現状がマズイので直したい。

という内容です。

会員No  SEQ   Point   Point2
1001     1     20    20.0 ←更新
1001     2     30    99.0
1001     3     50    15.5
1002     1     10    10.2  ←更新
1002     2     99    21.6
1002     3     99     10.0

上記の様になれば、、と思います。

何卒ご指南くださいませ。

A 回答 (1件)

UPDATE テーブルA SET Point2=Point WHERE SEQ=1 AND Point!=99


UPDATE テーブルA SET Point=ROUND(Point2,0)
WHERE SEQ=1 AND Point=99 AND Point2!=99.0
の2個のSQLで出来ます。
    • good
    • 0
この回答へのお礼

完璧でした!ありがとうございます

お礼日時:2012/05/14 12:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す