
ORACLE10gを使用しています。
似た内容の質問があったので
QNo.1828920:検索対象のデータが「複数レコード」を「1レコード」として獲得するSQL
も見てみたのですが、実際には他にも抽出条件や抽出項目が多いので、
できればGROUP BYは使いたくないと思い、質問させていただきます。
・TABLE)イメージ
CD|NO|NM
10 | 0 | あ
10 | 1 | い
10 | 2 | う
10 | 3 | え
・前提
画面でCD:10およびNO:0~NO:2と範囲指定します。
・求める結果
下記のように範囲指定したNO分、NMを横並びに抽出したいです。
10,あ,い,う
・考えた内容
VBを使用しているのでプログラム中で動的に抽出項目、FROM句、WHERE句を
追加しようと考えました。
TABLE.NOは2桁なので最大指定で0~99になる可能性があります。その場合FROM句のTABLE別名が99個に
なってしまいますが、書き方として問題ないのか不安です。
何かアドバイスがありましたらお願いします。
・SQL案
SELECT
TABLE0.CD,
For I = 0 To 2
TABLE & I.NM AS NM & I,
Next K
FROM
For J = 0 To 2
TABLE TABLE & I,
Next K
WHERE
TABLE0.CD = 10 AND
For K = 0 To 2
TABLE & K.NO = K AND
Next K
No.2ベストアンサー
- 回答日時:
No1です。
すいません、ちょっと違うみたい。No.1
- 回答日時:
select
CD
,decode(NO,0,NM,null)
,decode(NO,1,NM,null)
,decode(NO,2,NM,null)
from table
where cd = :cd
and no between :no1 and :no2
decodeの部分を指定された条件で作成してあげれば良いのでは
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT FOR UPDATE で該当レコ...
-
単一グループのグループ関数で...
-
where句中のtrim関数について
-
データ
-
SQL*Loader Append
-
【PL/SQL】FROM区に変数を使う方法
-
アクセスのレポートでレコード...
-
updateで複数行更新したい
-
値が入っていない日付型の項目...
-
1レコード全てを改行なしで表...
-
AccessのSQL文で1件のみヒット...
-
これをSQL文で出来るでしょうか?
-
トランザクションログを出力せ...
-
oracle DB内のデータを増幅す...
-
ACCESS レコードの並び順について
-
select文の実行結果に空白行を...
-
SQLローダーCSV取込で、囲み文...
-
ハイフンの入ったデータの並べ替え
-
サブクエリを使わない方法
-
ファイルメーカー10で重複デー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
SELECT FOR UPDATE で該当レコ...
-
データ
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
AccessのSQL文で1件のみヒット...
-
where句中のtrim関数について
-
アクセスのレポートでレコード...
-
SQLで条件にヒットしたレコード...
-
updateで複数行更新したい
-
osqleditについて
-
引数によってwhere句を切り替え...
-
デフォルトでデータが表示され...
-
「数字で始まらない」ものを抽...
-
PL/SQL内の共通関数の引数にフ...
-
Oracleですがsqlで質問です。 ...
-
oracle DB内のデータを増幅す...
-
ACCESS レコードの並び順について
おすすめ情報