![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
(1)の様なテーブルから結果を(2)の様にしたいのですが
どのようなSQLを書いたら表示できるのかわかりません。
アドバイスなどをお願い致します。
(新たにView等を作成するなどでもかまいません。)
(1)dept_id / item_id / day / time (カラム)
1111 / 0001 / 20090101 / 60 (レコード1)
1111 / 0001 / 20090102 / 30 (レコード2)
1111 / 0002 / 20090101 / 40 (レコード3)
1112 / 0001 / 20090101 / 30 (レコード4)
(2)dept_id / item_id / time1 / time2
1111 / 0001 / 60 / 30
1111 / 0002 / 40 /
1112 / 0001 / 30 /
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
10g以降ならmodel句も使えます。
利点はなんとなくカッコいいところです。
select dept_id,item_id,item1,item2
from tab
model return updated rows
partition by (dept_id,item_id)
dimension by (Row_Number() over(partition by dept_id,item_id order by dept_id,item_id) as rn)
measures(time as item1,time as item2)
rules(item2[1] = item2[2])
order by dept_id,item_id
-- 結果 --
DEPT_IDITEM_IDITEM1ITEM2
111100016030
1111000240
1112000130
No.1
- 回答日時:
たとえば……
select
dept_id, item_id,
max(case when rn = 1 then time else null end) as time1,
max(case when rn = 2 then time else null end) as time2
from (
select
dept_id, item_id, time,
row_number() over (partition by dept_id, item_id order by day) as rn
from t
)
group by dept_id, item_id
order by dept_id, item_id
のようになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- JavaScript html javascriptにてWeb SQLを操作したい。 2 2022/12/16 17:43
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQLにて特定の文字を除いた検索...
-
sqlで、600行あるテーブルを100...
-
Unionした最後にGROUP BYを追加...
-
SQLサーバから、項目の属性(型...
-
MySQLのDATE型カラム値がNULLの...
-
所有格の意味
-
クエリ表示と、ADOで抽出したレ...
-
OracleでINSERT文のループ
-
DB設計について
-
親と子供が複数のSQL取得方法
-
PL/SQLの変数について
-
select文のwhere句に配列を入れ...
-
Postgreのupdateコマンドでエラー
-
複数テーブルのGROUP BY の使い...
-
「Duplicate entry '1' for key...
-
INで抽出した順番に並び替え(S...
-
insertを高速化させたい
-
SELECT文で片方のテーブルを優...
-
ローカルルーターモードとは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
-
VIEWの元のテーブルのindexって...
-
エクセルの関数について教えて...
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
select文のwhere句に配列を入れ...
-
sqlで、600行あるテーブルを100...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
Unionした最後にGROUP BYを追加...
-
期間の重複を調べるSQL文につい...
-
クエリ表示と、ADOで抽出したレ...
-
Access パラメータクエリをcsv...
-
PL/SQLの変数について
-
MySQLのDATE型カラム値がNULLの...
-
php+mysqlで複数選択削除について
-
上位3位を求めるSQL文は?
おすすめ情報