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

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

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

Re[2]: SQLサマリ処理


(過去ログ 75 を表示中)

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

■44403 / inTopicNo.1)  SQLサマリ処理
  
□投稿者/ 初心者 (77回)-(2009/12/08(Tue) 09:44:58)

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

DBはsqlserverです。

画面に表示する項目が A,B,C,D だとすると

条件はD項目が同じレコードとF項目のMINで、サマリするのが可能ですか?

A    B    C      D     Fは日付
1    123   789   1101    2009/12/07
2   456   987   1101    2009/12/08
3    555   222   1102     2009/12/09


引用返信 編集キー/
■44404 / inTopicNo.2)  Re[1]: SQLサマリ処理
□投稿者/ Algol (1回)-(2009/12/08(Tue) 10:52:34)
No44403 (初心者 さん) に返信

select
    [table].A, [table].B, [table].C, [table].D
from
    [table],
    (select
        [table].D,
        min([table].F) as F
     from
        [table]
     group by
        [table].D
    ) minTable
where
   [table].D = minTable.D and
   [table].F = mintable.F


示したのは、古い方法のSQLですが
SQL的な理解のしやすさでは、こちらの方法がいいかなと思いしてみました。
なお、素のテーブル名が記載されていなかったので、[table]としてあります。

注意:
フリーハンドで書いているので間違っているかもしれません。
やり方を理解して適切に置き換えて下さい。

Transact-SQL リファレンス
http://msdn.microsoft.com/ja-jp/library/bb510741.aspx

引用返信 編集キー/
■44405 / inTopicNo.3)  Re[2]: SQLサマリ処理
□投稿者/ 初心者 (78回)-(2009/12/08(Tue) 11:19:19)
No44404 (Algol さん) に返信
> ■No44403 (初心者 さん) に返信
>
> select
> [table].A, [table].B, [table].C, [table].D
> from
> [table],
> (select
> [table].D,
> min([table].F) as F
> from
> [table]
> group by
> [table].D
> ) minTable
> where
> [table].D = minTable.D and
> [table].F = mintable.F
>
>
> 示したのは、古い方法のSQLですが
> SQL的な理解のしやすさでは、こちらの方法がいいかなと思いしてみました。
> なお、素のテーブル名が記載されていなかったので、[table]としてあります。
>
> 注意:
> フリーハンドで書いているので間違っているかもしれません。
> やり方を理解して適切に置き換えて下さい。
>
> Transact-SQL リファレンス
> http://msdn.microsoft.com/ja-jp/library/bb510741.aspx



ありがとう、ございます。二日ぐらい悩んでました、解決しました、本当にありがとうございます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -