

いつも皆様に助けていただいてます。
過去に色々聞いているものの、なかなか応用が利かず・・・今回もご支援下さい。
SQL2008に、1つのDBを作っていて、その中にテーブルAとテーブルBがあります。
テーブルAには、1つの会員Noにつき3つのSEQ1~3の行があって、それぞれにポイント数が入ってます。
テーブルA
会員No SEQ Point
1001 1 20
1001 2 30
1001 3 50
1002 1 15
1002 2 10
1002 3 0
テーブルBには、1つの会員につき最大10個のSEQが付きますが、今は殆どカラッポです。
テーブルB
会員No SEQ Rank
1001 1 5
1002 1 5
やりたいことは、テーブルAのSEQ1のポイント数が99以外なら、テーブルBに
テーブルAの「会員NO」、SEQ「7」、Rank「1」 の行を挿入したいです。
クエリ実行後のテーブルB
会員No SEQ Rank
1001 1 5
1001 7 1
1002 1 5
1002 7 1
テーブルAのSEQ1のPointが99以外なら、テーブルBに「会員No」とSEQ「7」 とRank「1」を挿入、という概要です。
クエリで可能でしょうか?
先ずは自力である程度やってみるのが筋なんでしょうが、時間が無いので聞いてしまいます。
何卒よろしくお願いします。
No.2ベストアンサー
- 回答日時:
insert into テーブルB(会員NO,SEQ,Rank)
select
a.会員NO,'7','1'
from
テーブルA as a
where
SEQ = '1' and
Point <> '99'
ん?単純に、こういうこと???
ただし、
・一発処理。(定期実行なんぞ考慮してないです。データを用意する目的で、全部データがそろってる状態~で最初に一発だけ流すようなもんです。
・重複なんぞ考慮してない。(だからこその一発処理。ではあるけど。ついでに言うと、テーブルBで会員Noでプライマリとってあったりしたら入らないけどね。うん。(まぁ、クエリ実行後のテーブルBを見た限りは、大丈夫か。うん。
定期処理にしたりするのなら、not existsとかでも使ってやる必要があるかと思います。
まぁ、
select
a.会員NO,'7','1'
from
テーブルA as a
where
SEQ = '1' and
Point <> '99'
とりあえず、コレだけで実行してみてください。
No.1
- 回答日時:
要件がいま一つ分らないのですが
・テーブルAのSEQが1でRANKが99以外のものがあった場合INSERTを実行するのか
・テーブルAのSEQが1でRANKが99のものがなかったらINSERTするのか
どちらでしょう。
また、どちらの場合も会員No、SEQでバッティングするケースが考えられますがその場合の仕様はどうなっているのでしょうか。
この回答への補足
分かり難く、すみません。
1つ補足しますと、前提として、テーブルBには、SEQ7の行は存在しません。
その上で、
テーブルAのSEQ = 1 and Point <> 99 であれば、
テーブルBに、同会員Noと、SEQ = 7 、 Rank = 1 を挿入 というイメージです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「テーブルに座って……」という...
-
会社の飲み会の幹事になり、座...
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
テーブルリンク リンク元を知...
-
mysqlのupdate構文についての質...
-
SQL Server management studio ...
-
【MySQL】1対1でテーブルをあ...
-
複雑なSQL文について
-
SQLです!!教えてください。あ...
-
SQLです教えてくださいお願いし...
-
男性と2人で飲食店に行きテーブ...
-
SQLです教えてください。
-
1対1のリレーション(主キー同...
-
ACCESS アクセス 最適...
-
UTF8のテーブルをODBCドライバ...
-
リレーションシップが出来ません。
-
テーブルのカラム構造だけをコ...
-
【エクセル】データテーブルの...
-
SQL クエリ データ数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「テーブルに座って……」という...
-
会社の飲み会の幹事になり、座...
-
外部キーだけのテーブル(主キ...
-
テーブルリンク リンク元を知...
-
オーダーの覚え方について
-
下記、問題に対しての解答が以...
-
飲み会で、座敷orテーブルどち...
-
アクセスのリンクテーブル一覧...
-
【エクセル】データテーブルの...
-
L2SWはARPテーブルを持っている?
-
面接のときテーブルが正面に。...
-
男性と2人で飲食店に行きテーブ...
-
UTF8のテーブルをODBCドライバ...
-
お金持ちのテーブル
-
1つのテーブルに同じデータを参...
-
テーブル名の前のドットの意味
-
複雑なSQL文について
-
データベースの接続に失敗して...
-
【PHP】SQL文のSUM関数で出力し...
-
更新されたテーブルを表示したい
おすすめ情報