kazu1213 の回答履歴

全10件中1~10件表示
  • SQL ORDER BYにおける条件について

    SQLのORDER BY句について質問です。 項目A,B,Cがあり、  項目AがNULLの場合   → ORDER BY 項目B,項目C  項目AがNULL以外の場合 → ORDER BY 項目A,項目C としたいのですが、どう指定すればいいでしょうか? 色々と調べたところ、CASE文を使用する?のかなと思って いるのですが、具体的には回答を得ていません。 お手数ですが、ご回答宜しくお願い致します。 ※使用DBはOracle10です。

  • SELECT分での結果の取り出し方

    以下の様なテーブルから SELECT分で条件をWHERE CODE = '0001' の様に指定して 求まった結果を1つの文字列にしたいのですが 良い方法がありましたら、教えて下さい。 SELECT * from testtbl; CODE NAME ------------------------------- 0001 AAAA 0001 BBBB 0002 CCCC 0003 DDDD この例だと、 SELECT NAME FROM testtbl WHERE CODE = '0001'の様な形で NAMEの部分の結果として,'AAAA,BBBB'の文字列を取得したいです。 ファンクションとかで実現できるでしょうか?

  • 引数によってwhere句を切り替える方法

    PL/SQLで開発しています。 一つのテーブルで検索条件(引数)によって検索するカラムを切り替えたいのですが、 カーソルをいくつも作らず、 一つのSELECT文で書く方法ってないのでしょうか? OR条件などを使って考えたのですが、うまくいきません。。 (例) SELECT * FROM 売り上げ情報 WHERE (品番 = 引数1 OR 商品名 = 引数2) 引数が無い時は"引数1"・"引数2"がNULLになるので、 カラムがPKなどになっていれば引数が片方しかなくてもうまく動作するのですが、 制限などがかかっていなくNULLで登録されているデータが存在すると余計なデータまでとれてしまいます。 DECODEなどでカラムに存在しない値に変換しようかとも思ったのですが、 なんか不自然な気が@@; いい方法があれば教えてください。

  • 引数によってwhere句を切り替える方法

    PL/SQLで開発しています。 一つのテーブルで検索条件(引数)によって検索するカラムを切り替えたいのですが、 カーソルをいくつも作らず、 一つのSELECT文で書く方法ってないのでしょうか? OR条件などを使って考えたのですが、うまくいきません。。 (例) SELECT * FROM 売り上げ情報 WHERE (品番 = 引数1 OR 商品名 = 引数2) 引数が無い時は"引数1"・"引数2"がNULLになるので、 カラムがPKなどになっていれば引数が片方しかなくてもうまく動作するのですが、 制限などがかかっていなくNULLで登録されているデータが存在すると余計なデータまでとれてしまいます。 DECODEなどでカラムに存在しない値に変換しようかとも思ったのですが、 なんか不自然な気が@@; いい方法があれば教えてください。

  • 引数によってwhere句を切り替える方法

    PL/SQLで開発しています。 一つのテーブルで検索条件(引数)によって検索するカラムを切り替えたいのですが、 カーソルをいくつも作らず、 一つのSELECT文で書く方法ってないのでしょうか? OR条件などを使って考えたのですが、うまくいきません。。 (例) SELECT * FROM 売り上げ情報 WHERE (品番 = 引数1 OR 商品名 = 引数2) 引数が無い時は"引数1"・"引数2"がNULLになるので、 カラムがPKなどになっていれば引数が片方しかなくてもうまく動作するのですが、 制限などがかかっていなくNULLで登録されているデータが存在すると余計なデータまでとれてしまいます。 DECODEなどでカラムに存在しない値に変換しようかとも思ったのですが、 なんか不自然な気が@@; いい方法があれば教えてください。

  • Oracle 条件の場合分け

    OracleのSQL文について質問です。 条件1がNULLのときは、条件2を検索条件としてSELECTを行いたいのですが、表現が可能でしょうか? SELECT * FROM TABLE WHERE (条件1がNULLでなければ、「条件1=XXXX」を条件とし、条件1がNULLであれば「条件2=XXXX」を条件とする) ということはどのように表現すればよいのでしょうか? 条件の場合分けのようなことはできるのでしょうか? データベース初心者で行き詰ってしまいました。 ヒントだけでも頂ければ、幸いです。 何卒よろしくお願いいたします。

    • ベストアンサー
    • semama
    • Oracle
    • 回答数2
  • SQLの抽出条件の記述の仕方について

    sqlのselect ~where等で以下のデータが抽出できますでしょうか。 テーブルに以下のデータが格納されています。 県コード  コード 商品名        単価 ------------------------------------------------------------ 01      1000 カメラ(中国製)   10,000円 01     2000 カメラ(日本製)   30,000円   01      3000 カメラ(アメリカ製) 40,000円 ------------------------------------------------------------ 02      1000 カメラ(中国製)   10,000円 02      3000 カメラ(アメリカ製) 40,000円 ------------------------------------------------------------ 上記のようなデータのなから、一つの県から、1つの商品(コード:2000(カメラ(日本製))、3000(カメラ(アメリカ製))、1000(カメラ(中国製))の優先順位で1つを選択)をselect文で抽出可能でしょうか。上記のデータならば、以下のデータを抽出したいのですが。 01     2000 カメラ(日本製)   30,000円 02      3000 カメラ(アメリカ製) 40,000円 2件のみを抽出できますか。

    • ベストアンサー
    • mpochid
    • Oracle
    • 回答数4
  • レコードの選択の仕方

    sqlのチューニングが得意なOracle Master所有者です。 ちょっとわからないことがあるので教えてください。 KEY1, KEY2でソートし、 ・先頭レコード ・最終レコード ・項目A1~A100の値が変わったレコード を出力したいのですが、どうすればよいでしょうか? レコード数は約7万で、「SQLで」驚速で処理したいです。 中間テーブルを使用して、特別なインデクスや編集を使用する例でも構いません。 例)★が出力するレコード KEY1 KEY2 A1 A2 A3 ... A100 A 1 0 1 0 0 ★ A 2 0 1 0 0 A 3 0 2 0 0 ★ A 4 0 2 0 0 A 5 0 1 0 0 ★ A 6 0 2 0 0 ★ ... A 60 0 2 5 0 ★ B 1 0 1 0 0 ★ B 2 0 1 0 0 B 3 0 0 0 0 ★ B 4 0 0 1 0 ★ B 5 0 0 1 0 ... B 70 0 2 5 0 ★ C 略

  • SQLでNoを編集

    次のように、コードAとコードBの並び順にNoをSQLで更新するにはどうすれば良いでしょうか? NoはコードAが変わると1から振りなおしです。 コードA コードB No A1   B1   A1   B2   A1   B3   A2   B1   A2   B2   A2   B3   ↓ コードA コードB No A1   B1   1 A1   B2   2 A1   B3   3 A2   B1   1 A2   B2   2 A2   B3   3

  • select文でゴミデータを検索したい!!

    Oracle8i databaseに対するSQLについて教えていただきたく。 Table A(従業員)のRow_IDをキーにして3つの Table B(性別)、C(年齢)、D(部署)がそれぞれB.emp_id、C.person_id、D.target_id で関連付けられる場合に Table B、C、Dのどのテーブルにも関連付けられない宙ぶらりんなTable AのRow_IDの調べ方が分かりません。 尚、Table Aはマスター表でRow_IDの重複はありませんが、B、C、Dに関してはTabele Aのレコード1行に対してN行存在します。 誤ったレコードをTable Aに挿入してしまいメンテを行う為に宙ぶらりんになっているTable Aのレコードを調査したいのです。 どうか宜しくお願い致します。

    • ベストアンサー
    • noa104
    • Oracle
    • 回答数2