重複の可能性:
ストアド プロシージャを作成せずに、Oracle で複数の行を 1 つに連結するにはどうすればよいですか?
create table pr_info(
pr_ref varchar2(10),
pr_text varchar2(3),
pr_key varchar2(12)
)
このテーブルには、次の形式のデータが含まれています
pr_ref pr_text pr_key
a1 abc qwertyui01
a1 def qwertyui02
b1 aaa zxcvbnmj01
b1 bbb zxcvbnmj02
b1 ccc zxcvbnmj03
つまり、pr_text の長さが 3 文字を超える場合、レコードは分割され、同じ pr_ref で異なる pr_key を持つ新しいレコードに配置されます (この場合、最初の 8 文字は同じままですが、最後の 2 文字は記録)
したがって、このテーブルのデータを、次の仕様を持つ新しいテーブルに入れる必要があります
create table pv_cus(pv_ref vrachar2(10),pv_text varchar2(100))
したがって、基本的には、ソース テーブルから同じ人物に属する行を連結し、それをターゲット テーブルの 1 つの行に配置する必要があります。
pv_ref pv_text
a1 abc,def
b1 aaa,bbb,ccc