类型:delphi+sqlserver2000我现时有一个表employee,里面有三个字段:employee_id,employee_name,employee_workage
表内容如下:
employee_id employee_name employee_workage
1 李明 1.5
2 梁权 0
3 谢亭 11
4 陈娟 6
5 黄红 20在按钮button1中实现如果employee_workage字段查找出来的记录值少于1那么要在dbgrid中新增一列holiday并赋值为0;
如果employee_workage的值大于1少于10,那么holiday的值为5;
如果employee_workage的值大于等于10而少于20,那么holiday的值为10,
如果employee_workage的值大于等于20以上的,那么holiday的值为20
即最终实现为结果为下:employee_id employee_name employee_workage holiday
1 李明 1.5 5
2 梁权 0 0
3 谢亭 11 10
4 陈娟 6 5
5 黄红 20 15=====================================
procedure TForm_main.ToolButton1Click(Sender: TObject);
var
sqlstring:string;
i:integer;begin
sqlstring:='select * into #table1 from employee' ;
adoquery1.SQL.Clear;
adoquery1.SQL.add(sqlstring);
adoquery1.SQL.Add('select * from #table1');
adoquery1.Open;end;我用到了临时表,但不知怎么处理好?
请问要怎么操作才实现我的功能?
表内容如下:
employee_id employee_name employee_workage
1 李明 1.5
2 梁权 0
3 谢亭 11
4 陈娟 6
5 黄红 20在按钮button1中实现如果employee_workage字段查找出来的记录值少于1那么要在dbgrid中新增一列holiday并赋值为0;
如果employee_workage的值大于1少于10,那么holiday的值为5;
如果employee_workage的值大于等于10而少于20,那么holiday的值为10,
如果employee_workage的值大于等于20以上的,那么holiday的值为20
即最终实现为结果为下:employee_id employee_name employee_workage holiday
1 李明 1.5 5
2 梁权 0 0
3 谢亭 11 10
4 陈娟 6 5
5 黄红 20 15=====================================
procedure TForm_main.ToolButton1Click(Sender: TObject);
var
sqlstring:string;
i:integer;begin
sqlstring:='select * into #table1 from employee' ;
adoquery1.SQL.Clear;
adoquery1.SQL.add(sqlstring);
adoquery1.SQL.Add('select * from #table1');
adoquery1.Open;end;我用到了临时表,但不知怎么处理好?
请问要怎么操作才实现我的功能?
case when employee_workage <1 then 0
when employee_workage between 1 and 10 then 5
when employee_workage between 10 and 20 then 10
else 20
end as 'holiday'
from t
select employee_id,employee_name,employee_workage,
case when employee_workage <1 then 0
when employee_workage>1 and employee_workage<10 then 5
when employee_workage>=10 and employee_workage< 20 then 10
else 20
end as 'holiday'
from t