我对PL / SQL有点新意,我不确定比较同一个表中的数据的最佳方法是什么。
因此,有一个存储用户设置的表,但并非所有用户都具有相同的设置。我最好用一个例子的片段展示它:
User Setting Value
---- ------- -----
Carol Timezone GMT
Carol PageSize 300
Greg Timezone EST
Greg PageSize 300
Greg Duration 10
Bill PageSize 250
Bill Duration 20
Fred Timezone 30
... ... ...
假设有数千名用户。我想以某种方式比较Carol,Greg和Bill之间的价值观,但不想包括其他人(Fred等)。
是否可以让表格看起来像这样?
Setting Carol Greg Bill
------- ----- ----- ----
Timezone GMT EST (null)
PageSize 300 300 250
Duration (null) 10 20
答案 0 :(得分:1)
select setting,
max(case when user = 'Carol' then value else null end) as Carol,
max(case when user = 'Greg' then value else null end) as Greg,
max(case when user = 'Bill' then value else null end) as Bill
from your_table
WHERE user IN ('Carol','Greg','Bill')
group by setting