

お世話になります。
SQL文の作成に難航しています。
どうか知恵を貸してください。
環境:VS2005 Oracl10g
言語:VB.Net
A_TABAL
NO |GroupNO|
1 |A_1
1 |A_1
1 |A_1
B_TABAL
NO |K_NO|K_N
1 |K_1 |項目名1_あ
1 |K_1 |項目名1_い
1 |K_2 |項目名2_あ
1 |K_1 |項目名1_う
1 |K_2 |項目名2_あ
1 |K_2 |項目名2_あ
AテーブルとBテーブルのNOが一致するもので、K_NOがK_1であれば、
項目名1というカラムにいれる。
(複数の場合はカンマ区切りでいれる)
K_NOがK_2であれば、項目名2というカラムにいれる。
(Bテーブルでは
K_1とK_2のレコード数は同じ、実際とってくるときは、NOが同じであれば、重複なものは消すと)
求めたい結果
NO |GroupNO |項目名1 |項目名2
1 |A_1 |項目名1_あ,項目名1_い,項目名1_う|項目名2_あ
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
テストしてないけど、こんな感じかな
select z.NO,z.GroupNO,x.項目名1,y.項目名2
from
(
select NO,sys_connect_by_path(K_N,',') 項目名1
from
(
select b.*,row_number() over(partition by NO,K_NO order by K_N) R
from (select distinct * from B_TABAL where K_NO='K_1') b
)
start with R=1 connect by prior R = R -1 and prior NO=NO
) x,
(
select NO,sys_connect_by_path(K_N,',') 項目名2
from
(
select b.*,row_number() over(partition by NO,K_NO order by K_N) R
from (select distinct * from B_TABAL where K_NO='K_2') b
)
start with R=1 connect by prior R = R -1 and prior NO=NO
) y,
(
select distinct * from A_TABAL
) z
where z.NO=x.NO and z.NO=y.NO
;
返事遅くなってすみません。
これが階層問い合わせというんですか。
ネットで調べてたんですが、関数の使い方がまたっくわからなくて、どうしもなく、ここで質問しました^^;
回答を解析しならが、勉強します。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一テーブル内のデータを比較...
-
set lineで不要な改行が出力さ...
-
アクセス SQLで重複排除でcount...
-
SQL 複数のテーブルから重複な...
-
SQLで小数点のついたべき乗を計...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
フィルターかけた後、重複を除...
-
外部参照してるキーを主キーに...
-
エクセルで最後の文字だけ置き...
-
誰か教えてください
-
SELECT 文 GROUP での1件目を...
-
Outlook 送受信エラー
-
1、Rstudioで回帰直線を求める...
-
VIEWの元のテーブルのindexって...
-
access2021 VBA メソッドまたは...
-
カーソル0件の時にエラーを発生...
-
1日に1人がこなせるプログラム...
-
エクセルの関数について教えて...
-
EXISTSを使ったDELETE文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
set lineで不要な改行が出力さ...
-
同一テーブル内のデータを比較...
-
Accessで2つのカラムからユニー...
-
select *, `人口(男)`AND`人口(...
-
Pro*cのバインド変数をカンマ区...
-
検索方法
-
2つのselect文をunion all で...
-
order by区の記述位置
-
Oracle:グループごとに最大日...
-
MAX値を条件にしたSQLで困って...
-
SQL 複数のテーブルから重複な...
-
select実行時のロックとcommit...
-
同じフォーマットの違う表への...
-
LAST_DAY関数は?
-
仮想?テーブルの作成方法
-
SQLServerのストアドで戻り値取...
-
SQLで小数点のついたべき乗を計...
-
月間集計ですべての日付を抽出...
-
ORACLE UPDATE・INSERTに...
-
Access2000でディレクトリリス...
おすすめ情報