こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

MySQLデータでデータチェック

データを年度の古い順に保存。
誤っているデータは、noを修正したい。


●現在のデータ
codenoyear
---------------
10112012
10122008
10132010


↓ 正しくは、


●正しいデータ
codenoyear
---------------
10112008
10122010
10132012


この場合、誤ったデータを検索するSELECT文はどのように書くのが良いでしょうか?

誤ったデータがある、codeを検索。
noの数字を修正、となります。

わかる方がいましたら教えて下さい。

投稿日時 - 2012-12-05 15:14:22

QNo.7830978

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

何を持って誤ったデータと判断するのか。条件がさっぱり見えてきません。

読み取れる規則性としては

codeが同じであれば
noは1から連番
yearは昇順
noXのyear < noX+1のyear

つまり
noXのyear > noX+1のyear
を見つけ出せば解決ですか?

投稿日時 - 2012-12-05 17:24:05

ANo.1

仕様がむちゃくちゃな感じ・・・

codeは101の3ケタ?、noが1ケタ?、yearが4ケタ?
これはcode、no、yearとい3つのカラムがあるのか
それとも「codenoyear」という1つのカラムなのでしょうか?

また古い順がyearの昇順だとして、おなじyearの場合はnoは同じなのでしょうか?
それ以降のデータは繰り下がるのでしょうか?

投稿日時 - 2012-12-05 16:22:54

補足

失礼しました。
スペースが飛んでしまいました。

code no year がそれぞれフィールドです。

code  no year
----- --- -------
101  1  2012
101  2  2008
101  3  2010

↓ 正しくは、

code  no year
----- --- -------
101  1  2008
101  2  2010
101  3  2012

となります。

投稿日時 - 2012-12-05 16:52:26

あなたにオススメの質問