类似这样做吧
create table #1 (Time datetime)--select from #1
declare @i int,@StartTime datetime
select @i = 0,
@StartTime = '2010-3-17 8:30:00'
while @i < 5
begin insert into #1 values(dateadd(dd,@i,@StartTime))
set @i=@i+1
end
select from #1
drop table #1
这个涉及到数据库范式和反范式的问题,要清楚你们的具体需求才行,但是一般来说,反范式只有在数据量比较大的时候才会考虑,我不知道你们的每个工站有多少数据量,如果数据量不大的话,一般按第三范式去设计数据库就行了,也就是方案二。
--测试环境mssql2008
--这就是行列转换
Create TAble T
(
日期 date,
时间 time,
设备 Varchar(10),
数值 int
)
insert into T values('2015-10-15','10:11:12',1,10)
insert into T values('2015-10-15','10:11:12',2,11)
insert into T values('2015-10-15','10:11:12',3,12)
insert into T values('2015-10-15','10:11:12',4,13)
insert into T values('2015-10-15','10:11:12',5,14)
insert into T values('2015-10-15','10:11:12',6,10)
insert into T values('2015-10-15','10:11:12',7,11)
insert into T values('2015-10-15','10:12:12',1,2)
insert into T values('2015-10-15','10:12:12',2,3)
insert into T values('2015-10-15','10:12:12',3,4)
select from t
pivot
(
sum(数值)
for
设备 in([1],[2],[3],[4],[5],[6],[7])
)p
select 日期,时间,
SUM(Case when 设备=1 then 数值 else 0 end) As [1],
SUM(Case when 设备=2 then 数值 else 0 end) As [2],
SUM(Case when 设备=3 then 数值 else 0 end) As [3],
SUM(Case when 设备=4 then 数值 else 0 end) As [4],
SUM(Case when 设备=5 then 数值 else 0 end) As [5],
SUM(Case when 设备=6 then 数值 else 0 end) As [6],
SUM(Case when 设备=7 then 数值 else 0 end) As [7]
from t
Group by 日期,时间
; ALTERTABLE语句
ALTERTABLE语句用于在已有的表中添加、修改或删除列。
ALTERTABLE语法
如需在表中添加列,请使用下列语法:
ALTERTABLEtable_name
ADDcolumn_namedatatype
在表"Persons"中添加一个名为"Birthday"的新列。
ALTERTABLEPersons
ADDBirthdaydate
新列"Birthday"的类型是date,可以存放日期。数据类型规定列中可以存放的数据的类型。
扩展资料:
基本语句
1、数据记录筛选:
sql="selectfrom数据表where字段名=字段值orderby字段名[desc]"(按某个字段值降序排列,默认升序ASC)。
sql="selectfrom数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10from数据表where字段名=字段值orderby字段名[desc]"
sql="selectfrom数据表where字段名in('值1','值2','值3')"
sql="selectfrom数据表where字段名between值1and值2"
sql="select列名1,列名2from数据表where字段名=字段值groupby列名1,列名2"(groupby用来分组,并且只有出现自groupby中的列名,才允许出现在select语句中)。
2、更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2字段n=值nwhere条件表达式"
3、删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
参考资料来源:百度百科-SQL语句大全
是在什么程序中使用?
1用<ul><li>name1 name2 name3</li>name4 name5 name6 <li></li></ul>
在css里给li样式:line-hight:10px;
2用<br />
3用表格<td height="自定义"></td>
用一个循环。
先用参数取到到底要变成多少行,和单价
declare@tint
declare@salnvarchar(8)
根据需求或实际情况将应变为多少行这个烤取给变量@t,单价取给@sal
设置循环的起始数值
declare@iint
set@i=1
开始循环
while(@i
begin
--将单行的数据插入需要的表
insertinto()
values()
--循环参数自增
set@i=@i1
end
以上就是关于sql 多列插入数据全部的内容,包括:sql 多列插入数据、如何设计多行多列的数据库表、sql 数据表一列变多列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)