A表
select * from xc_wjrecord
sdepotname sprogramname sprogramname spersonname dusestarttime duseendtime
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 11:35:00.000 2010-01-28 11:37:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 11:35:00.000 2010-01-28 11:37:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 16:04:13.000 2010-01-28 23:59:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-29 00:00:00.000 2010-01-29 23:59:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-31 00:00:00.000 2010-02-01 15:45:48.000B表
select * from xc_wjmasterdevice
sdepotname sprogramname sprogramname spersonname typename dusestarttime duseendtime
专题部 今晚大件事 今晚大件事 何少敏 D-BET格式摄像机 2010-04-16 14:05:32.000 2010-04-16 15:13:14.000
专题部 今晚大件事 今晚大件事 何少敏 D-BET格式摄像机 2010-04-16 14:05:32.000 2010-04-16 15:13:14.000A表和B表的差别就是多一个typename字段`其它字段一样,现在我让两个表关联`我用一个UNION`SELECT语句如下:
select a.sdepotname,a.sprogramname,a.spersonname,b.typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjmasterdevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.typename
union
select a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype as typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjslavedevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype表.xc_wjrecord 中没有typename字段,需要UNION表.xc_wjmasterdevice关联
得到结果如下:sdepotname sprogramname spersonname typename ctime
大型活动部 晚会制作 刘平 D-BET格式摄像机 160.470000
大型活动部 晚会制作 刘平 充电器 160.470000
大型活动部 晚会制作 刘平 电池 160.470000
大型活动部 晚会制作 刘平 广角镜头 160.470000
大型活动部 晚会制作 刘平 话筒 160.470000
大型活动部 晚会制作 刘平 脚架 160.470000
大型活动部 晚会制作 刘平 栏目外景灯具 94.720000现我我想将上面的结果INSERT到一个新表C中,C表的字段为中文(为了方便打印出来)
字段为(使用部门,节目名称,设备预约人,设备类型,用时合计)
~~~~写了很久都写不好`
帮忙写一个INSERT到C表的全部语句~最好能运行成功的~~
这个贴子我先前发过,虽然是OK的`~但是我发现将SQL语句分解到C#后,用视图有BUG,所以我现在的想法是~写个INSERT的语句,直接把结果插入到我在系统里建的一个临时表里C表,C表的字段(使用部门,节目名称,设备预约人,设备类型,用时合计)
谢谢了~
select * from xc_wjrecord
sdepotname sprogramname sprogramname spersonname dusestarttime duseendtime
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 11:35:00.000 2010-01-28 11:37:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 11:35:00.000 2010-01-28 11:37:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-28 16:04:13.000 2010-01-28 23:59:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-29 00:00:00.000 2010-01-29 23:59:59.000
科教部 科教部特别节目 科教部特别节目 测试1 2010-01-31 00:00:00.000 2010-02-01 15:45:48.000B表
select * from xc_wjmasterdevice
sdepotname sprogramname sprogramname spersonname typename dusestarttime duseendtime
专题部 今晚大件事 今晚大件事 何少敏 D-BET格式摄像机 2010-04-16 14:05:32.000 2010-04-16 15:13:14.000
专题部 今晚大件事 今晚大件事 何少敏 D-BET格式摄像机 2010-04-16 14:05:32.000 2010-04-16 15:13:14.000A表和B表的差别就是多一个typename字段`其它字段一样,现在我让两个表关联`我用一个UNION`SELECT语句如下:
select a.sdepotname,a.sprogramname,a.spersonname,b.typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjmasterdevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.typename
union
select a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype as typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjslavedevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype表.xc_wjrecord 中没有typename字段,需要UNION表.xc_wjmasterdevice关联
得到结果如下:sdepotname sprogramname spersonname typename ctime
大型活动部 晚会制作 刘平 D-BET格式摄像机 160.470000
大型活动部 晚会制作 刘平 充电器 160.470000
大型活动部 晚会制作 刘平 电池 160.470000
大型活动部 晚会制作 刘平 广角镜头 160.470000
大型活动部 晚会制作 刘平 话筒 160.470000
大型活动部 晚会制作 刘平 脚架 160.470000
大型活动部 晚会制作 刘平 栏目外景灯具 94.720000现我我想将上面的结果INSERT到一个新表C中,C表的字段为中文(为了方便打印出来)
字段为(使用部门,节目名称,设备预约人,设备类型,用时合计)
~~~~写了很久都写不好`
帮忙写一个INSERT到C表的全部语句~最好能运行成功的~~
这个贴子我先前发过,虽然是OK的`~但是我发现将SQL语句分解到C#后,用视图有BUG,所以我现在的想法是~写个INSERT的语句,直接把结果插入到我在系统里建的一个临时表里C表,C表的字段(使用部门,节目名称,设备预约人,设备类型,用时合计)
谢谢了~
select a.sdepotname as 使用部门,a.sprogramname as 节目名称,a.spersonname as 设备预约人,b.typename as 设备类型,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as 用时合计 from xc_wjrecord a,xc_wjmasterdevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.typename
union
select a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype as typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjslavedevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype
) T
select * from (
select a.sdepotname as 使用部门,a.sprogramname as 节目名称,a.spersonname as 设备预约人,b.typename as 设备类型,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as 用时合计 from xc_wjrecord a,xc_wjmasterdevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.typename
union
select a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype as typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjslavedevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype
) T
where 设备类型='D-BET格式摄像机'
--没有创建c表的情况下用下面的语句。
select * into c from
(select a.sdepotname 使用部门,a.sprogramname 节目名称,a.spersonname 设备预人,
b.typename 设备类型,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as 用时合计
from xc_wjrecord a,xc_wjmasterdevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.typename
union
select a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype as typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime from xc_wjrecord a,xc_wjslavedevice b
where a.id=b.id
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype)
如果让typename多指定几个内容呢?
比如两个一起“设备类型='D-BET格式摄像机'”“设备类型='HDCAM高清摄像机”要怎么写`突然发现我的数据库真的很烂