SQL的功能还是很强大的,如果效率放在第二位,那么几乎所有功能都可你实现。就是有时候麻烦些。不过还是挺不错的。
解决方案 »
- oracle 9i 用户没有权限查看表
- [高分]连接Oracle时,总是自动执行下面的语句:SELECT PARAMETER, VALUE FROM SYS.NLS_DATABASE_PARAMETERS ...
- java中执行oracle存储过程的问题
- 大家好,请教一个关于连接数与licence的问题
- 新手请教:sql语句中如何选择日期格式为"2005-2-21"的字段?
- 在SQL中,select * from sysobjects where xtype='u',在ORACLE中是怎么样表达的
- 求急:如何完整的移植Oracle8i数据库到另一台服务器?(在线等待)
- 请教!!!
- 请教熟悉ADO和ORACLE的大虾,急急急急急!
- 如何将oracle中的数据导入到SQL中?最好详细地说一下
- oracle for 2k 和 oracle for unix 的sql语句 有什么区别?应注意什么
- SQL高手请进
名称 是否为空?类型
------------------------------- -------- ----
PERSONAL_TAX NUMBER
EMP_ID NOT NULL NUMBER(4)SQL> desc payroll_item;//是张表
名称 是否为空?类型
------------------------------- -------- ----
PAY_ID NOT NULL NUMBER(2)
EMP_ID NOT NULL NUMBER(4)
ITEM_ID NOT NULL CHAR(4)
AMOUNT NUMBER(12,2)
SQL> update payroll_item
2 set amount=(
3 select personal_tax
4 from test3
5 where test3.emp_id=payroll_item.emp_id)
6 where test3.emp_id=payroll_item.emp_id
7 and payroll_item.item_id='0157'
8 and payroll_item.pay_id=11;
where test3.emp_id=payroll_item.emp_id
*
ERROR 位于第 6 行:
ORA-00904: invalid column name
为什么会报这个错误》??
原因何在???
minus
select id2 from table2
名称 是否为空?类型
------------------------------- -------- ----
PERSONAL_TAX NUMBER
EMP_ID NOT NULL NUMBER(4)SQL> desc payroll_item;//是张表
名称 是否为空?类型
------------------------------- -------- ----
PAY_ID NOT NULL NUMBER(2)
EMP_ID NOT NULL NUMBER(4)
ITEM_ID NOT NULL CHAR(4)
AMOUNT NUMBER(12,2)
update payroll_item
set amount=(
select personal_tax
from test3
where test3.emp_id=payroll_item.emp_id)
where exists (select * from test3 where test3.emp_id=payroll_item.emp_id)
and payroll_item.item_id='0157'
and payroll_item.pay_id=11;这里是该没问题的,但是结果没出来,不知道怎么回事情?
PERSONAL_TAX与AMOUNT类型大小不一致---这个原因??
视图字段结构可以改的吗》》?没听说过
如何解决?
select decode(sign(E.B),-1,0,
decode(sign(E.B-500),-1,E.B*0.05,
decode(sign(E.B-2000),-1,E.B*0.1-25,
decode(sign(E.B-5000),-1,E.B*0.15-125,
decode(sign(E.B-20000),-1,E.B*0.20-375,
decode(sign(E.B-40000),-1,E.B*0.25-1375,
decode(sign(E.B-60000),-1,E.B*0.30-3375,
decode(sign(E.B-80000),-1,E.B*0.35-6375,
decode(sign(E.B-100000),-1,E.B*0.40-10375,
B*0.45-15375
))))))))) personal_tax,E.C emp_id
from
(select (sum1+sum2+sum3+sum4+sum6-800) B,p1.emp_id C from
(select emp_id,sum(amount) sum1 from
payment_item where item_id in (0101,0102,0103,0104,0148)
and to_char(pay_date,'yyyy-mm')='2002-12' group by emp_id)p1,
(select emp_id,sum(amount)-decode(emp_id,4,500,
156,500,186,500,190,500,526,500,626,500,300) sum2
from payment_item where item_id in (0301,0308,0309)
and to_char(pay_date,'yyyy-mm')='2002-12' group by emp_id)p2,
(select emp_id,sum(amount) sum3 from payment_item
where item_id in (0110,0111,0206)
and to_char(pay_date,'yyyy-mm')='2002-12'
group by emp_id)p3,
(select emp_id,amount sum4 from payment_item
where item_id in (9999) and pay_id=2
and to_char(pay_date,'yyyy-mm')='2002-12')p4,
(select emp_id,sum(amount) sum6 from payment_item
where item_id in (0152,0153,0154)
and to_char(pay_date,'yyyy-mm')='2002-12'
group by emp_id)p6
where p1.emp_id=p2.emp_id
and p1.emp_id=p3.emp_id
and p1.emp_id=p4.emp_id
and p1.emp_id=p6.emp_id)E