2
我想獲取一組數據並通過添加基於現有字段的日期行來擴展它。舉例來說,如果我有如下表(TABLE1
):如何使單行查詢包括Oracle中的多行
ID NAME YEAR
1 John 2001
2 Jim 2012
3 Sally 2005
我想借此數據,並把它變成另一張表,但它擴大到包括一組個月的(並從那裏我可以補充每月信息)。如果我只看了第一條記錄(John
)我的結果將是:
ID NAME YEAR MONTH
1 John 2001 01-JAN-2001
1 John 2001 01-FEB-2001
1 John 2001 01-MAR-2001
...
1 John 2001 01-DEC-2001
我有機制來獲得我每月的日期,但我怎麼提取TABLE1
數據進行TABLE2
。這只是一個快速查詢,但當然,我可以按照預期得到ORA-01427 single-row subquery returns more than one row
。只是不知道如何組織查詢,這兩件放在一起:
select id,
name,
year,
book_cd,
(SELECT ADD_MONTHS('01-JAN-'|| year, LEVEL - 1)
FROM DUAL CONNECT BY LEVEL <= 12) month
from table1 ;
我意識到我不能這樣做,但我不知道如何將兩片放在一起。我計劃批量處理記錄,所以它一次不會是一個ID感謝您的幫助。
感謝,這正是我一直在尋找。我需要調查這個交叉連接功能。我第一次聽說它! – Mark