- - PR -
同じカラムの値が同じで他カラムの値が異なるものの抽出について(MDB2003)
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-11 12:33
アドバイスありがとうございます。
→ちなみにINのほうがORよりも処理が速かったりするんですか? | ||||||||
|
投稿日時: 2006-05-11 12:53
あまり性能差はないと思います。 ただ、ORをつなげて長くなるよりも INで書いたほうが SQL文がすっきりし、 見やすくなると思います。 _________________ 夏椰 @ わんくま同盟 夏椰の庵 Microsoft MVP for Windows Server System - SQL Server ( Jul 2006 - Jun 2008 ) | ||||||||
|
投稿日時: 2006-05-11 13:01
夏椰さん
ありがとうございました と書いておき解決と思ったら、1個見つかりました EIDで複数個指定する場合に、例えば 1,2,5と指定する時、1,2,5すべてに当てはまるものを抽出できませんでした。 (というかその条件を書いてませんでしたが・・・) 1,2だけのものや1,5だけのものがヒットしてしまいました。 ANDに書き換えるとヒットしないし・・・。 うーん、別な方法でしょうか? [ メッセージ編集済み 編集者: birdfly 編集日時 2006-05-11 13:32 ] | ||||||||
|
投稿日時: 2006-05-11 13:37
ごめんなさい。 おっしゃりたいことがよくわかりません。 「1もしくは5などの数値を指定して抽出」が 「1,2,5すべてに当てはまるもの」 に変わっているのですが・・・・。 「1,2,5のどれかとEIDが一致するデータ」なら EID IN ( '1','2','5')となるんですが もう一度、テーブルからどんなデータがほしいのかを整理してみてください。 _________________ 夏椰 @ わんくま同盟 夏椰の庵 Microsoft MVP for Windows Server System - SQL Server ( Jul 2006 - Jun 2008 ) | ||||||||
|
投稿日時: 2006-05-11 13:48
申し訳ないです。すっかり3つ以上のときを考えていませんでした 整理すると以下の通りです。 1.指定される条件は、EIDの数値 2.EIDには、単一指定から複数指定がある 取得したいデータは、1で指定したEIDすべてに含まれるものかつGIDが同じもの となります。 お手数をおかけします。 [ メッセージ編集済み 編集者: birdfly 編集日時 2006-05-11 14:06 ] | ||||||||
|
投稿日時: 2006-05-11 15:15
ということではなくて? | ||||||||
|
投稿日時: 2006-05-11 15:42
説明が下手で申し訳ないです。
もう一度、データと期待する値を書かせていただきます。 もとデータ: -------------------------- No EID GID 1 2 1062 2 2 1084 3 2 1124 4 2 1368 5 2 1653 6 2 1657 7 6 2066 8 7 2308 9 8 2769 10 2 2853 11 2 2905 12 2 2942 13 3 1062 14 3 3125 15 3 3072 16 3 3154 17 3 3186 18 3 3194 19 1 1062 20 1 1084 21 1 1124 22 1 1159 23 5 1062 24 5 1368 -------------------------- 検索値:1,2,5 期待するデータ: -------------------------- No EID GID 1 2 1062 19 1 1062 23 5 1062 -------------------------- と取得したいです。 たびたび申し訳ないですが可能でしょうか? | ||||||||
|
投稿日時: 2006-05-11 16:06
え〜っとこういうことかな?
Noでグルーピングして、INに指定している個数よりカウントが大きいレコードが INの条件すべてに該当するレコードとなる って感じですかね? _________________ 夏椰 @ わんくま同盟 夏椰の庵 Microsoft MVP for Windows Server System - SQL Server ( Jul 2006 - Jun 2008 ) |