SQL数据库相关: 如果从表A中提取一个字段的值,作为新建的表B的字段,如何操作?

补充:表A中提取的字段会不断增加,我是想用个触发器(或者存储过程)之类的,每天更新表B
意思是将A表中的一列字段(不重复),提取出来作为B表创建表的字段。
即A表中所提取的列有多少个不重复的字段,创建B表中就有多少个字段。
如图1为提取字段,图2为B表的效果

insert into B (id,columnB) select id,columnA from A where id not in (select id from B)
你需要给B表加一个和A表一样的唯一标示,比如ID列,这样的话就容易做了追问

有ID列,但是不同ID对应的所提取字段有重复的。下面是我的提取语句
select distinct description from publicdb.dbo.PbSimplelist
where sort in ('后纺停台原因','前纺停台原因') and enabled=1

追答

你意思是说提取到B表中的列,值不能重复的?

追问

对,我是在做一个时间统计,将A表中的不同分类原因的停机时间汇总到B表中。
即将A表中的“停台原因”这一列作为创建B表的字段,然后将时间汇总到各个原因下面

追答

如果是这样的话就不需要ID列了,本身添加入B表的字段就不是重复的,那么你可以在你现有语句上加上不添加重复原因的语句就行了,改成这样
insert into B (description) select distinct description from publicdb.dbo.PbSimplelist
where sort in ('后纺停台原因','前纺停台原因') and enabled=1 and description not in (select description from B)

追问

虽然没有彻底解决问题,还是谢谢crd0605!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16
你要做的功能是动态创建表的字段吧?

楼上的回答就不错哦!
如果还是没有彻底解决建议到CSDN上!上面有好多大神的说!