日期:2014-05-17  浏览次数:20739 次

*******请教一个SQL语句,请各位进来看看********
需求如下:

有两个值,暂时以ValueA 和ValueB代替。


  本月应参加 ValueA 次考试,实际参加 ValueB 次考试,那么少去一次扣除0.01分,这个SQL语句应该如何写?

------解决方案--------------------
老大你的需求还不是一点不清楚啊,不过看在50分的份上,忍了。

假设你是这个意思:
有一个学生表:student
id valuea valueb
1 5 6
2 6 6
3 0 10

想查出每个学生需要扣多少分。

select id 学生,(valueb-valuea)*0.01 扣分 from student;

可是你想要的?
------解决方案--------------------
楼主叫做“谁说我不在乎”?赫赫。

是不是需要用到decode?万一ValueB 〉 ValueA呢,赫赫。
------解决方案--------------------
表(暂命名为t1)如下:
v_name va vb
n1 5 3
n2 7 7
n3 9 8
n4 12 4
语句如下(前提是实考次数不能也不可能大于应考次数,理论上也是这样):
select v_name,(va-vb)*0.01 koufen from t1;
结果:
v_name kouf
====== ====
n1 0.02
n2 0.00
n3 0.01
n4 0.08