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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.7888 の関連記事表示

<< 0 >>
■7929  Re[4]: SQLのDistinct句に関して
□投稿者/ くし&しも -(2006/10/31(Tue) 01:33:33)

    分類:[C#] 

    No7928に返信(くし&しも さんの記事)
    > 夏椰さん!ありがとうございます。
    >
    > in句に複数の項目を指定できたり、partition byなど 初めて知りました。
    >
    > 又、ひろえむさん!もありがとうございます。参考にさせていただきます。
    >
    > お二方ともありがとうございました。
    >
記事No.7888 のレス / END /過去ログ8より / 関連記事表示
削除チェック/

■7928  Re[3]: SQLのDistinct句に関して
□投稿者/ くし&しも -(2006/10/31(Tue) 01:33:05)

    分類:[C#] 

    夏椰さん!ありがとうございます。

    in句に複数の項目を指定できたり、partition byなど 初めて知りました。

    又、ひろえむさん!もありがとうございます。参考にさせていただきます。

    お二方ともありがとうございました。

記事No.7888 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7912  Re[2]: SQLのDistinct句に関して
□投稿者/ ひろえむ -(2006/10/30(Mon) 15:55:53)
>

    分類:[C#] 

    おお。 私も一緒に勉強になりました(^o^;
記事No.7888 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7895  Re[1]: SQLのDistinct句に関して
□投稿者/ 夏椰 -(2006/10/30(Mon) 01:26:29)
>

    分類:[C#] 

    No7888に返信(くし&しも さんの記事)
    > いつもお世話になります。
    >
    > 例えば下記のようなテーブルがあるとします。
    > Primary Key はcode_aとnoとno_edaです。
    > そこでcode_aとno毎にno_edaが古い番号のデータを取得するとします。
    > よって、結果からいえば下記テーブルから「○」がついたレコードを取得したいのですが、一発で取得するようなSQLがどうもうまく作れませんでした。
    > ちなみに全ての列のデータを取得します。
    >
    > SELECT DISTINCT code_a, no FROM tbl_A だったら重複行は絞れますが、no_edaもnameも取得できません。
    > 又、SELECT DISTINCT code_a, no, no_eda FROM tbl_A だったら逆にcode_a, no,no_edaで一意となるので本来の意図したデータを取得できなく、
    > nameも取得できません。
    >
    > テーブル名:tbl_A
    > ------------------------------------
    > code_a | no | no_eda | name |    ← 列名
    > ------------------------------------
    > 000 | 0000 | 0 | あ  |  
    > ------------------------------------
    > 000 | 0000 | 1 | い |
    > ------------------------------------
    > 000 | 0000 | 2 | う |  ○
    > ------------------------------------
    > 000 | 0001 | 0 | お |  
    > ------------------------------------
    > 000 | 0001 | 1 | か |  ○
    > ------------------------------------
    > 100 | 0000 | 0 | き |  
    > ------------------------------------
    > 100 | 0000 | 1 | く |  ○
    >
    > もし一度に取得するようなSQLが作れるとしらお手数ですが教えてください!
    >
    > 環境等はWindows XP, Visual Studio2005, Oracle10g ,C# です。
    > 以上よろしく御願い致します。

    簡単にいうと
    code_a、no毎でno_edaが最大値を持つレコードを取得したいってことですかね?
    #古いno_edaというのが最大値のno_edaという意味なのかな?と思ったので
    #確認させていただきました。

    Oralceなので以下のSQLがかけますね。
    #ここは集計関数のMAXです。
    select * from table_a where (code_a, no, no_eda) in
    (
    select code_a, no, max(no_eda) from table_a group by code_a, no
    ) ;

    またはお題にあるDISTINCTを使うとして以下のパターンもかけますね。
    #ここでは分析関数のMAXを使用しています。
    select * from table_a where (code_a, no, no_eda) in
    (
    select distinct code_a, no, max(no_eda) over (partition by code_a, no ) from table_a
    ) ;


記事No.7888 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7891  Re[2]: SQLのDistinct句に関して
□投稿者/ ひろえむ -(2006/10/29(Sun) 21:37:09)
>

    分類:[C#] 

    No7890に返信(ひろえむさんの記事)

    ああ、肝心なところがぬけてますね(^^;

    select * from tbl_A as A
    left join (
    select
    code_a,
    no,
    Max(no_eda) as max_no_eda
    from tbl_A
    group by
    code_a, no) as B
    on
    A.code_a = B.code_a
    and
    A.no = B.no
    and
    a.no_eda = B.max_no_eda
    where
    B.code_a is not null

    ですかね(^^;
記事No.7888 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7890  Re[1]: SQLのDistinct句に関して
□投稿者/ ひろえむ -(2006/10/29(Sun) 21:31:47)
>

    分類:[C#] 

    いろいろと方法はありますが・・・

    select *
    from tbl_A as A
    left join (
    select
    code_a,
    no,
    Max(no_eda) as max_no_eda
    from tbl_A
    group by
    code_a, no) as B
    on
    A.code_a = B.code_a
    and
    A.no = B.no
    where
    B.code_a is not null

    て感じでしょうか。 試していないのでわかりませんが(^^;;

    SQLは苦手なので、もしかしたらもっといい方法があるのかもしれません(^^;;;
記事No.7888 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7888  SQLのDistinct句に関して
□投稿者/ くし&しも -(2006/10/29(Sun) 18:38:32)

    分類:[C#] 


    分類:[C#] 

    いつもお世話になります。

    例えば下記のようなテーブルがあるとします。
    Primary Key はcode_aとnoとno_edaです。
    そこでcode_aとno毎にno_edaが古い番号のデータを取得するとします。
    よって、結果からいえば下記テーブルから「○」がついたレコードを取得したいのですが、一発で取得するようなSQLがどうもうまく作れませんでした。
    ちなみに全ての列のデータを取得します。

    SELECT DISTINCT code_a, no FROM tbl_A だったら重複行は絞れますが、no_edaもnameも取得できません。
    又、SELECT DISTINCT code_a, no, no_eda FROM tbl_A だったら逆にcode_a, no,no_edaで一意となるので本来の意図したデータを取得できなく、
    nameも取得できません。

    テーブル名:tbl_A
    ------------------------------------
    code_a | no | no_eda | name |    ← 列名
    ------------------------------------
    000 | 0000 | 0 | あ  |  
    ------------------------------------
    000 | 0000 | 1 | い |
    ------------------------------------
    000 | 0000 | 2 | う |  ○
    ------------------------------------
    000 | 0001 | 0 | お |  
    ------------------------------------
    000 | 0001 | 1 | か |  ○
    ------------------------------------
    100 | 0000 | 0 | き |  
    ------------------------------------
    100 | 0000 | 1 | く |  ○

    もし一度に取得するようなSQLが作れるとしらお手数ですが教えてください!

    環境等はWindows XP, Visual Studio2005, Oracle10g ,C# です。
    以上よろしく御願い致します。
親記事 /0過去ログ8より / 関連記事表示
削除チェック/

■7888  Re[2]: javascript
□投稿者/ 我王 -(2007/09/18(Tue) 18:35:13)
    No7884 (mあ さん) に返信
    > ■No7882 (我王 さん) に返信
    >>javascriptで質問お願いします。
    >>AJAXです
    >> contents += "<li><a href='JavaScript:void(0)' onclick=\"alert('"+ test +"');\">"
    >> + "</ a></li>";
    >
    > ↓
    >
    > alert("'" + test + "'"); //☆
    > contents += "<li><a href='JavaScript:void(0)' onclick=\"alert('"+ test +"');\">"
    > + "</ a></li>";
    >
    >
    > ☆のalert() の結果を教えて。
    mあさん いつもありがとうございます。

    返ってくる値を調べた結果からなんとか動作するようになりました。
    確認したところ左にかなりのスペースがあるものが返ってきました。
    サーバからXMLを返すところでスペースを消すだけで動くようなりました。ありがとうございます。

    もう一つ質問させてください。

    contents += "<li><a href='JavaScript:void(0)' onclick=\"alert('"+ test +"');\">あああ</ a></li>";
    あああをクリックしたらアラートで表示されましたが あああをクリックしたらあああというリンク文字を消すことはこのコードから可能ですか??
    ごめんなさい 良ければご教授お願いいたします。ただいまjavascriptを真剣に学習中です。


記事No.7882 のレス /過去ログ19より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -