通话时间可以用计算字段
通话时间 as datediff(ss,通话开始时间 ,通话结束时间) 
--ss 精确到秒
create proceduer 个人用户查询(@user_id char(10))
as
exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用   from  计费基本表,用户情况基本表')

解决方案 »

  1.   

    你发了多少贴呀??
    补充:不知道可不可以在建表的时候就同时增加一列,
    例如:通话结束时间-通话开始时间 as 通话时间,还有,我想在建表时就通过一个函数将费用直接算出来加到本表中,不
    知道应该怎么做呢?自连接表就可以了吗?re:
    用计算子段:
    create table 表 (ID,主叫号码,被叫号码,通话开始时间,通话结束时间,通话类型,通话时间 as datediff(ss,通话开始时间,通话结束时间))
    上面是求出单位为秒的通话时间
    ---------------------------------------
    包括ID,用户名,用户号码,用户类型(分为集团和个人)re:作成用户注册一个我就添加一个
    ---------------------------------------
    create proc 个人用户查询(@user_id varchar(10))
    as
    exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用   from  计费基本表,用户情况基本表')
    ----------------------------------------
    前台想要进行查询时
    re: 你的做法是错误的你完全可以根据不同的用户在select的时候写where子句,视图只能建一次
    ---------------------------------------
    你的设计有问题!
    计费基本表(ID,主叫号码,被叫号码,通话开始时间,通话结束时间,通话类型,用户id)
    用户基本情况的表(ID,用户名,用户号码,用户类型)
    你在查询的时候:select * from 计费基本表,用户基本情况的表 where 计费基本表.用户id=用户基本情况的表.id and 用户id=@你的用户id变量