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

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

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

Re[1]: SQLの行列変換について


(過去ログ 98 を表示中)

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

■58768 / inTopicNo.1)  SQLの行列変換について
  
□投稿者/ TAKE (40回)-(2011/04/26(Tue) 11:24:02)

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

こんにちは
よろしくお願いいたします。

SQL Server 2008の環境で
下記に記述するテーブルデータがあるとして
これをkeyが若いレコードを持ってきたいのですが

SELECT
MIN(CASE WHEN kubun = 1 THEN date END) AS d
FROM tbl_test

というSQLを実行したとしても
dateがNULLのレコードを取得してほしいところを
次のレコードの2010/01/01を取得してきてしまいます。
これはそういうものなのでしょうか?
わかるかたよろしくお願いいたします。

[tbl_test]
key	kubun	date
1	1	
2	1	2010/01/01
3	1	2010/02/02
4	1	2010/03/03
5	1	2010/04/04
6	1	2010/05/05
7	2	2011/01/01

引用返信 編集キー/
■58769 / inTopicNo.2)  Re[1]: SQLの行列変換について
□投稿者/ shu (650回)-(2011/04/26(Tue) 11:45:49)
No58768 (TAKE さん) に返信

> dateがNULLのレコードを取得してほしいところを
> 次のレコードの2010/01/01を取得してきてしまいます。
> これはそういうものなのでしょうか?
集計関数はNullのレコードを除いて計算すると思ったので
この結果でよいかと思います。Nullを通常使われない昔の日付に
置き換えてSelectするとか別の方法が必要になるかと思います。

IsNull(〜, '1900/01/01')など
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -