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表的字段为中文(为了方便打印出来)
字段为(使用部门,节目名称,设备预约人,设备类型,用时合计)
~~~~写了很久都写不好`
我用了以下方法:
1)用视图
create view 视图名
as
select * from 表1 union select * from 表2 ……
(2)复制表
select into 新表(注:无需创建)
from
(select * from 表1 union select * from 表2)
2.insert into 新表(注:需新建后才可以引用)
(select * from 表1 union select * from 表2)
帮忙写一个INSERT到C表的全部语句~最好能运行成功的`~真的不要再给例子了`但是也写不好`~~跪求达人`~~~~~~~~~~~~~~~~~~~帮忙`~我是刚进公司的新手程序员`这是任务`想哭了`~写不出来啊`~
分只有那么多了,希望高手救救我`~我全部的分都给出来`了`~
“round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime”是将时间浍总~写入新列CTIME
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表的字段为中文(为了方便打印出来)
字段为(使用部门,节目名称,设备预约人,设备类型,用时合计)
~~~~写了很久都写不好`
我用了以下方法:
1)用视图
create view 视图名
as
select * from 表1 union select * from 表2 ……
(2)复制表
select into 新表(注:无需创建)
from
(select * from 表1 union select * from 表2)
2.insert into 新表(注:需新建后才可以引用)
(select * from 表1 union select * from 表2)
帮忙写一个INSERT到C表的全部语句~最好能运行成功的`~真的不要再给例子了`但是也写不好`~~跪求达人`~~~~~~~~~~~~~~~~~~~帮忙`~我是刚进公司的新手程序员`这是任务`想哭了`~写不出来啊`~
分只有那么多了,希望高手救救我`~我全部的分都给出来`了`~
“round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime”是将时间浍总~写入新列CTIME
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime
into c
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
是这样的`如果我的C表存在~它是个空表~字段为(使用部门,节目名称,设备预约人,设备类型,用时合计)
将UNION的结果插入到C表中,要怎么写INSERT语句`谢谢你了~~能帮我看看吗?
Select * from
(select a.sdepotname,a.sprogramname,a.spersonname,b.typename,
round(datediff(n,min(a.dusestarttime),max(a.duseendtime))/60.00,2) as ctime
into c
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) tb
select * into C 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
不过我不明白 最后的那个 T 是啥意思啊?#1楼的也谢谢你`你写的也是对的`非常感谢你`#3楼的,虽然你的运行报错,但是也非常感谢你谢谢大家了`
as
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?
as
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 and b.typename='D-BET格式摄像机'
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 and b.typename='D-BET格式摄像机'
group by a.sdepotname,a.sprogramname,a.spersonname,b.sdevtype
服务器:消息 207,级别 16,状态 3,行 1
列名‘typename’ 无效。
服务器:消息 207,级别 16,状态 1,行 1
列名‘typename’ 无效。