我正在研究JDBC/Oracle SQL項目,並遇到了我認爲是我的最終問題。我有電影,其類別,上市的大表如下:Oracle SQL按分隔符將單個行拆分爲多個
Table name = Categories
MovieId MovieTitle Category
1 Die Hard Action|Drama
2 GoodFellas Drama|Crime
我試圖讓這個它看起來就像這樣:
MovieId MovieTitle Category
1 Die Hard Action
1 Die Hard Drama
2 Goodfellas Drama
2 Goodfellas Crime
這裏的總體思路我一直在玩。當我在我的大桌子上運行時,它似乎無休止地運行,我在一張較小的桌子上測試了它,並且它做了我想要的,但它只顯示Goodfellas的結果而不是Hard Hard。請記住,我需要它來更新我的原始表格,而不僅僅是創建一個查詢。
SELECT distinct MovieId, MovieTitle,REGEXP_SUBSTR(Category,'[^|$]+', 1, LEVEL) Category
FROM Categories
CONNECT BY REGEXP_SUBSTR(Category, '[^|$]+', 1, LEVEL) IS NOT NULL;
任何幫助表示讚賞。我已經瀏覽過其他線程,其中很多都是通過更小的數據表進行排序,而不是像我的那樣大。謝謝!
你的谷歌搜索字符串是'多對多relationships.' –