
テーブル1のデータを計算してテーブル2を作成したいと考えております。
計算については"数値"を更新日付の一つ前の値と引き算してその結果をテーブル2に挿入したいと思ってます。
テーブル1
ID 数値 更新日付
001 23 2008/02/23 2:00:00
001 34 2008/02/23 3:00:00
001 50 2008/02/23 4:00:00
001 23 2008/02/23 5:00:00
002 25 2008/02/23 3:00:00
002 50 2008/02/23 4:00:00
002 70 2008/02/23 5:00:00
002 50 2008/02/23 6:00:00
結果
テーブル2
ID 数値 更新日付
001 11 2008/02/23 3:00:00
001 16 2008/02/23 4:00:00
001 -27 2008/02/23 5:00:00
002 25 2008/02/23 4:00:00
002 20 2008/02/23 5:00:00
002 -20 2008/02/23 6:00:00
一応考えたのですが
SELECT *
FROM テーブル1 AS a, テーブル1 AS b
WHERE (((a.ID)=[b].[ID]) AND ((b.更新日付)=(select min(更新日付) from テーブル1 as b where a.更新日付 < b.更新日付)))
ORDER BY a.ID, a.更新日付);
として、aとbの数値を引き算しようと考えていますが、可能なのでしょうか?
ぜんぜん別の方法でもいいので教えていただけないでしょうか?
以上 よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
前の質問を締め切らずに継続する質問をする行為は、「続きの質問」として、ここでは規約違反です。
RDBMS名とバージョンを明示するように求めましたが、なぜ提示がないのでしょう?せっかく具体的なSQLを提示しても、dekinaikunさんの環境では実行できない可能性があります。
>aとbの数値を引き算しようと考えていますが、可能なのでしょうか?
可能かどうかと言われれば、可能です。
しかし、RDBには、「前の行」や「後の行」という概念がないので、利用者側で通番を付けるといった工夫が必要になります。また、そういった操作は、SQLだけでやるより、ストアドプロシジャを使うとか、アプリケーション側でやる方が、シンプルだし性能も出せます。
以下のように、表定義やデータを格納するSQLを貼り付けておくと、アドバイスする側としてもすぐに検索SQLの作成に入れるので、多くの人から早くアドバイスをもらえると思いますよ。
1.表定義例
create table tbl1
(seqno int identity(1,1),
id int,
数値 int,
更新日付 datetime);
2.格納データ例
insert into tbl1(id,数値,更新日付) values(1,23,'2008/02/23 2:00:00');
insert into tbl1(id,数値,更新日付) values(1,34,'2008/02/23 3:00:00');
insert into tbl1(id,数値,更新日付) values(1,50,'2008/02/23 4:00:00');
insert into tbl1(id,数値,更新日付) values(1,23,'2008/02/23 5:00:00');
insert into tbl1(id,数値,更新日付) values(2,25,'2008/02/23 3:00:00');
insert into tbl1(id,数値,更新日付) values(2,50,'2008/02/23 4:00:00');
insert into tbl1(id,数値,更新日付) values(2,70,'2008/02/23 5:00:00');
insert into tbl1(id,数値,更新日付) values(2,50,'2008/02/23 6:00:00');
3.検索例
select
x.id,
x.数値-(select 数値
from tbl1
where seqno=x.seqno-1) as 数値,
x.更新日付
from tbl1 as x
where x.seqno>all (select min(seqno) from tbl1 where x.id=id)
order by x.id,x.更新日付
;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について教えて...
-
エクセルで最後の文字だけ置き...
-
sqlで、600行あるテーブルを100...
-
select文のwhere句に配列を入れ...
-
Updateの複数テーブル条件時のL...
-
重複しない乱数生成のVBAマクロ...
-
auto_incrementを任意の数字か...
-
データベース mysql
-
マイクラPC版のコマンドで効率...
-
1テーブル&複数レコードの更新...
-
INで抽出した順番に並び替え(S...
-
MySQLで結果変数が取得できません
-
order byですが、数値で指定す...
-
DB設計について
-
副問合せの書き方について
-
UPDATE文とWHERE句
-
ストアドのエラーについて
-
【SQLクエリ】日替わりで表示さ...
-
【MySQL】auto_incrementの値を...
-
カラム名でseqとidではどちらが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
select文のwhere句に配列を入れ...
-
VIEWの元のテーブルのindexって...
-
SQLにて特定の文字を除いた検索...
-
sqlで、600行あるテーブルを100...
-
SQLサーバから、項目の属性(型...
-
selectした大量データをinsert...
-
Access パラメータクエリをcsv...
-
画像とカテゴリーを出力したい...
-
WordpressのContact form 7でzi...
-
【Transact-sql】 execの結果を...
-
SQL Left Join で重複を排除す...
-
エラー 1068 (42000): 複数の主...
-
ある条件の最大値+1を初番する...
-
マイクラPC版のコマンドで効率...
-
クエリ表示と、ADOで抽出したレ...
-
Unionした最後にGROUP BYを追加...
-
PL/SQLの変数について
-
全角文字を含む行を検索
おすすめ情報