从PATSTAT使用SQL Server检索数据

时间:2017-04-22 11:49:14

标签: sql sql-server

我正在尝试使用SQL服务器检索专利数据。我感兴趣的变量是ID,即专利识别。对于每个ID,我还想检索几个变量用于分析,例如,已经提交专利的司法管辖区。通过查看2个变量可以找到这些变量:AUTH或L507EP。这些列中的值对于每个ID都不是唯一的。例如,ID 1可能有2行,因为AUTH需要2个值,比如US和JP。我希望避免每个ID超过1行,而不会丢失有价值的信息。所以,我想要做的是在ID级别识别AUTH中的不同字符串,并创建分别采用字符串US和JP的不同列(AUTH1和AUTH2)。

为什么我要用SQL而不是Python,R等来做这个?因为我在下载数据时有限制(最多700,000行),并且因为我引入了在相同ID上变化的变量,所以大大增加了行数。 有人可以帮忙吗?非常感谢!

提前致谢!

1 个答案:

答案 0 :(得分: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所说的话。