求一条sql,请帮看看!
有表如下:
姓名 性别 职称 工资总额
a 男 高职 3000
b 男 中职 2000
c 女 初职 1500
d 女 初初职 900
我想(通过一条sql)得到如下视图;
姓名 性别 职称 工资总额 变动后的工资
a 男 高职 3050 3250
e 男 高职 3000 3200
b 男 中职 2000 2150
c 女 初职 1500 2060
d 女 初初职 900 955
条件是这样的
男性(+100),女性(+50)
高职(+100),中职(+50),初职(+10),初初职(+5);
不知用一条sql可否实现?谢谢
------解决方案--------------------CREATE TABLE TABLE1(NAME VARCHAR2(10),SEX VARCHAR2(4),JOB VARCHAR2(10),SAL INTEGER);
INSERT INTO TABLE1 VALUES( 'a ', '男 ', '高职 ',3000);
INSERT INTO TABLE1 VALUES( 'b ', '男 ', '中职 ',2000);
INSERT INTO TABLE1 VALUES( 'c ', '女 ', '初职 ',1500);
INSERT INTO TABLE1 VALUES( 'd ', '女 ', '初初职 ',900);
COMMIT;
SELECT NAME,SEX,JOB,SAL,
DECODE(JOB, '高职 ',SAL_NEW+100, '中职 ',SAL_NEW+50, '初职 ',SAL_NEW+10, '初初职 ',SAL_NEW+5)SAL_NEW FROM
(SELECT NAME,SEX,JOB,SAL,DECODE(SEX, '男 ',SAL+100,SAL+50) SAL_NEW FROM TABLE1);
NAME SEX JOB SAL SAL_NEW
---------- ---- ---------- ---------- ----------
a 男 高职 3000 3200
b 男 中职 2000 2150
c 女 初职 1500 1560
d 女 初初职 900 955
创建试图的话就
CREATE VIEW VIEW_NAME AS
SELECT NAME,SEX,JOB,SAL,
DECODE(JOB, '高职 ',SAL_NEW+100, '中职 ',SAL_NEW+50, '初职 ',SAL_NEW+10, '初初职 ',SAL_NEW+5)SAL_NEW FROM
(SELECT NAME,SEX,JOB,SAL,DECODE(SEX, '男 ',SAL+100,SAL+50) SAL_NEW FROM TABLE1);
------解决方案--------------------SQL> select tt.name,tt.sex,tt.zicheng,tt.money,
2 case when tt.zicheng = 'gaozhi ' then decode(tt.sex, 'male ',tt.money+100, 'female ',tt.mo