我在oracle中有一個SQL腳本,它幾乎完成,但我被困在最後一個問題上。將1列中的2列值合併到新表中的新行中 - SQL
我有2個數據庫表我正在訪問數據,並將新行插入到我的數據庫的新表中。 其中一個數據庫表有一個帳號列和一個描述符列,每個帳號都有3個描述符值,全部使用相同的格式。還有第三列,我想從中獲取數據。這裏是一個可視化:
Account # | Descriptor | Value
1 Cost Center: ASDF CC123
1 Company: ASDF123 F123
1 Fund: JKL R123
2 Cost Center: ASDF12 CC456
2 Company: ASDF456 F456
2 Fund: JKL23 R456
我想我最後的表是這樣的:
Account_Number | Company_Description | Cost_Center_Value
1 Company: ASDF123 CC123
2 Company: ASDF456 CC456
的Cost_Center_Value列和Company_Description列來自不同行,但相同的帳戶對象中的元素。
我遇到的問題是我有一個特殊的where
子句來幫助我僅提取帶有'Company:'文本的描述符行。如果我輸入AND
,表格根本沒有填充,我認爲是因爲它希望數據在同一行,當我需要來自2行但不同列的數據時。如果我使用和OR
語句,它會添加一個全新的行。
這裏是我的腳本:
create table mydb.test1 as
select distinct substr(testdb.table1.FAO, 1) as Account_Number,
'CM' || substr(testdb.table1.DESCRIPTOR, 18) as Division,
substr(testdb.table1.value, 1) as Department,
substr(testdb.table2.Workday_Description, 1) as Description,
from testdb.table1
join testdb.table2
on testdb.table1.fao = testdb.table2.workday_number
where testdb.table2.descriptor like 'Company for%'
OR testdb.table1.value like 'CC%'
order by Account_Number Desc
我離開了OR語句中有顯示什麼我一直在玩弄。 這是我能得到的最接近的。
如果需要更多信息,請告訴我。
爲什麼你的問題的說明顯示單表,但你的查詢嘗試有兩個表,有幾個未提及的列? – Laurence
@Laurence - 我只把重要的東西放在帖子裏。我不認爲其他表和列是必要的,但我可以根據需要添加它們。 – RXC