アプリ版:「スタンプのみでお礼する」機能のリリースについて

揃えたい

標題の通りですが、2つのフィールドに含まれる連番データが不揃いなので
DBのデータを丸っと書き換えてしまうか、SQLを使って取得したデータからタグを書き換えてしまうか、いずれかの方法で連番情報を揃えたいと思っています。

(連番情報を揃えたDBは、一回きりしか使わないので、DB書き換えでも、取得後の置き換えでもどちらでもかまいません)

実際のデータはこのような形です。

Content table:
ID, FileID, TextA, TextB
1, 1, {1}テキストの{2}, {1}テキストの{2}
2, 1, {3}情報ですが{4}, {3}情報だったり{4}
3, 1, {5}同じ{6}場合も, {5}同じ{6}場合も
4, 2, 違う{7}ことも{8}, 少し{1}違ったり{2}
5, 2, {10}します。{9}, {4}するんです。{3}

Contentテーブルには、ID, FileID, TextA, TextBというフィールドがあります。
TextAとTextBには、数字で特定できるタグが使われています。
TextAは、FileIDとは無関係に、テーブル全体で一意の連番を使っています。
TextBは、連番を使いますが、FileIDが変わると1からまたカウントし直します(ID 4のレコード参照)。
レコード単位で見るとタグの数値は1ずつインクリメントしますが、1レコード内での数値の順序は自由です(ID 5のレコードでは、{10}/{4}が先に来て、{9}/{3}が後に来ています。)
1レコード内で同じ数値タグが重複することはありません。

このほかに、Tagsというテーブルも用意されています。
ここには、次のフィールドがあります。
TagID, FileID, LCID
1, 1, 1
2, 1, 2
3, 1, 3
4, 1, 4
5, 1, 5
6, 1, 6
7, 2, 1
8, 2, 2
9, 2, 3
10, 2, 4

このTagIDは、ContentテーブルのTextAで使われているタグの連番と同じです。
LCIDはTextBでのタグの連番と同じです。
この情報を使えば、Content テーブル自体を書き換えられるような気もするのですが
どのようなSQLでできるのか、わかりません。冒頭でも書いたとおり、書き換えた後のDB自体は使いませんので、SQLで取得した後のデータを使って連番を揃える方法でもかまいません。その場合はVBSを使うことになります。

SQLに強い方、どうすれば良いか、教えていただけませんでしょうか。
年末の忙しい中恐縮ですが、どうぞよろしくお願いします。

A 回答 (1件)

アクセスなら、、、


そのような順番に並べ、連番フィールドを追加した、テーブル作成クエリを作成してはいかがでしょうか?
    • good
    • 0

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

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