我在 Oracle 中有下表
Company Rate Period
1A 10 sep-16
1B 20 sep-15
1C 30 oct-16
1D 40 sep-16
1A 50 oct-16
2B 50 sep-15
1C 60 oct-14
Run Code Online (Sandbox Code Playgroud)
我想选择一些行并根据条件添加一个值。所以结果将类似于以下内容:
Company Rate Period Currency
1A 50 oct-16 USD
1C 30 oct-16 AED
Run Code Online (Sandbox Code Playgroud)
在上表中,我仅选择了 Period ='oct-16' 的公司 1A、1C。我需要为每家公司添加一列“货币”,其中 1A=USD,1C=AED
我所做的是:
select company, PERIOD , Rate
from TABLE_test
where period='Oct-16' And Company='1A'
OR period='Oct-16' and Company='1C';
Run Code Online (Sandbox Code Playgroud)
我设法找到了这些公司,但在货币栏上失败了。这可以使用 SQL 命令吗?请帮忙。
是的,可以使用 case 条件:
SELECT COMPANY,RATE,PERIOD,(CASE WHEN COMPANY='1A' THEN 'USD'
WHEN COMPANY='1C' THEN 'AED' END
)CURRENCY
FROM TABLE_TEST
WHERE PERIOD='oct-16'
AND COMPANY IN ('1A','1C')
Run Code Online (Sandbox Code Playgroud)