1、不可以为每个用户建立一个视图用户号码,通话开始时间等建立索引
create proceduer 个人用户查询(@user_id char(10))
AS(加)
exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用 from 计费基本表,用户情况基本表')
from 计费基本表,用户情况基本表是笛卡儿集,应加WHERE 。
create proceduer 个人用户查询(@user_id char(10))
AS(加)
exec('create view 个人视图 as select 用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用 from 计费基本表,用户情况基本表')
from 计费基本表,用户情况基本表是笛卡儿集,应加WHERE 。
AS ---少了
参数
AS--
。。
@类别名
as
exec('create table '+@类别名+'(用户号码,用户类型主叫号码,被叫号码,通话类型,通话费用 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变量