2017-04-22 454 views
0

我想用SQL服務器檢索專利數據。我感興趣的變量是ID,即專利標識。對於每個ID,我還想檢索幾個變量進行分析,例如,已提交專利的司法管轄區。這些可以通過查看2個變量找到:AUTH或L507EP。這些列中的值對於每個ID都不是唯一的。例如,ID 1可能有2行,因爲AUTH需要2個值,例如US和JP。我想避免每個ID有超過1行而不會丟失有價值的信息。所以,我想要做的是在ID級別標識AUTH中的不同字符串,並創建不同的列(AUTH1和AUTH2),分別接受字符串US和JP。從PATSTAT檢索數據與SQL Server

爲什麼我想用SQL來代替Python,R或類似的東西?由於我在下載數據時有限制(最多700,000行),並且因爲我介紹了在相同ID上變化的變量,我大大增加了行數。 任何人都可以幫忙嗎?高度讚賞!

在此先感謝!

+1

我認爲你應該提供更多信息。您輸入數據的樣本,以及您希望作爲輸出獲取的內容以及您嘗試的SQL代碼。 – TheEsnSiavashi

+0

@TheEsisia感謝您的關注。這就是我的數據在檢索後的樣子:goo.gl/Uj0WBy正如您所看到的,每個docb_family_id(專利標識符)有幾行,因爲psn_id和referenced_pa​​t_publn_id有不同。我想得到的是以下內容:每行唯一的docb_family_id有以下幾列:appln_filing_year,psn_id1(與29708696),psn_id2(與9987752),ISR_citations(通過docb_family_id iff citn_origin ='ISR'計數'ISR'引用和引用_pat_publn_id不重複,這可能嗎? - luiscanyamel 5分鐘前 – luiscanyamel

回答

0

要獲得唯一的ID,並在同一行,你可以使用這個在具有PSN數字:

select id, psn, psn2 
from 
    (select row_number() over(order by (select 1)) as num, id, psn, lead(psn) over(order by id) as psn2 from MyTable) as T 
where num %2 == 0 
Group By id, psn, psn2 

我不明白你說的關於SEA什麼。