

お世話になります。
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ランキング
-
同じフォーマットの違う表への...
-
Pro*cのバインド変数をカンマ区...
-
Accessで2つのカラムからユニー...
-
select実行時のロックとcommit...
-
set lineで不要な改行が出力さ...
-
フィルターかけた後、重複を除...
-
外部参照してるキーを主キーに...
-
差し込み後、元データを変更し...
-
エクセルで最後の文字だけ置き...
-
SQLで特定の項目の重複のみを排...
-
Outlook 送受信エラー
-
エクセルの関数について教えて...
-
1日に1人がこなせるプログラム...
-
列番号による項目の取得について
-
データの先頭文字の置換
-
INSERT文でフィールドの1つだ...
-
EXISTSを使ったDELETE文
-
JANコードとPOSコードは同じ?
-
for whichの使い方
-
ACCESS 商品毎の最新の単価を設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL 複数のテーブルから重複な...
-
select *, `人口(男)`AND`人口(...
-
MAX値を条件にしたSQLで困って...
-
アクセス SQLで重複排除でcount...
-
漢字表示の電話機
-
SQLServerのストアドで戻り値取...
-
SQLのエディッションの確認方法...
-
2つのselect文をunion all で...
-
PCキーボード
-
Oracle:グループごとに最大日...
-
同一テーブル内のデータを比較...
-
Access2000でディレクトリリス...
-
DATEADD 関数の引数の省略形の...
-
SQLで小数点のついたべき乗を計...
-
order by区の記述位置
-
「ドロップダウンメニューフィ...
-
月間集計ですべての日付を抽出...
-
set lineで不要な改行が出力さ...
-
1つのカラムに複数レコードの...
-
SQL文 テーブル1つに複数のデータ
おすすめ情報