C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: sql 文で列を一行に


(過去ログ 48 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■26161 / inTopicNo.1)  sql 文で列を一行に
  
□投稿者/ 気合 (27回)-(2008/10/02(Thu) 18:07:31)

分類:[データベース全般] 

よろしくお願いします
ORACLE10Gです
KEY ATAI1 AAA
1 2 1
1 3 2
1 4 3
2 5 2

KEYの中で一番ATAI1が一番小さいものと二番目に小さいものを結果とし
ATAI1 ATAI2へ格納 ATAI1のAAAをAAAへ格納

KEY ATAI1 ATAI2 AAA
1 2 3 1
2 5 2

とやる場合のsqlが分かりません
ご教示願いします
引用返信 編集キー/
■26163 / inTopicNo.2)  Re[1]: sql 文で列を一行に
□投稿者/ 魔界の仮面弁士 (865回)-(2008/10/02(Thu) 18:43:05)
No26161 (気合 さん) に返信
> KEY ATAI1 ATAI2 AAA
> 1    2     3     1
> 2    5           2
> とやる場合のsqlが分かりません

こういう事で良いのかな。

SELECT KEY, ATAI1, ATAI2, AAA FROM (
SELECT KEY, ATAI1, LEAD(ATAI1) OVER (PARTITION BY KEY ORDER BY ATAI1) ATAI2, 
ROW_NUMBER() OVER (PARTITION BY KEY ORDER BY ATAI1) NUM, AAA FROM TBL
) WHERE NUM = 1

引用返信 編集キー/
■26166 / inTopicNo.3)  Re[2]: sql 文で列を一行に
□投稿者/ 気合 (28回)-(2008/10/02(Thu) 20:03:26)
有難うございます

そのとおりで出来ました。助かりました。

後追加なんですが、ACCESSでも同じものを表示したいのですが
そちらもお願いできましたらご教示願います。

お願いします。
引用返信 編集キー/
■26167 / inTopicNo.4)  Re[3]: sql 文で列を一行に
□投稿者/ 気合 (29回)-(2008/10/02(Thu) 21:58:52)
ACCESSでGROUPBY した中で一番目と二番目をとることはまず出来るのでしょうか?TOP句ですと全体からの為困っております
引用返信 編集キー/
■26168 / inTopicNo.5)  Re[4]: sql 文で列を一行に
□投稿者/ 魔界の仮面弁士 (866回)-(2008/10/02(Thu) 22:38:05)
No26167 (気合 さん) に返信
> ACCESSでGROUPBY した中で一番目と二番目をとることはまず出来るのでしょうか?

Microsoft Access という事なので、定義域関数を使ってみるとか。


SELECT T.KEY, T.ATAI1, T.ATAI2, TBL.AAA FROM (SELECT KEY,
DMin("ATAI1", "TBL", "KEY = " & KEY & " AND ATAI1 > " & MIN(ATAI1)) AS ATAI2,
DMin("ATAI1", "TBL", "KEY = " & KEY) AS ATAI1 FROM TBL GROUP BY KEY) AS T
INNER JOIN TBL ON T.KEY = TBL.KEY AND T.ATAI1 = CStr(TBL.ATAI1)

引用返信 編集キー/
■26208 / inTopicNo.6)  Re[5]: sql 文で列を一行に
□投稿者/ 気合 (30回)-(2008/10/03(Fri) 19:42:24)
早速のご回答有難うございます。

そのとおりで動いてます
あとすみませんそれですと値1に同じ値がある場合でも次の番号の値に飛んでしまいます。>の為
かといって>=ですと同じ値にしかなりません

<>な演算子で同じものを弾いてみましたがうまく動きませんでした。

もしよければご教示願います。
引用返信 編集キー/
■26359 / inTopicNo.7)  Re[6]: sql 文で列を一行に
□投稿者/ ぷさいくろう (2回)-(2008/10/07(Tue) 18:06:24)
ACCESSのバージョンに依存すると思われる。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -