通话时间可以用计算字段
通话时间 as datediff(ss,通话开始时间 ,通话结束时间)
--ss 精确到秒
create proceduer 个人用户查询(@user_id char(10))
as
exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用 from 计费基本表,用户情况基本表')
通话时间 as datediff(ss,通话开始时间 ,通话结束时间)
--ss 精确到秒
create proceduer 个人用户查询(@user_id char(10))
as
exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用 from 计费基本表,用户情况基本表')
补充:不知道可不可以在建表的时候就同时增加一列,
例如:通话结束时间-通话开始时间 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变量