首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于SQL表之间导数据的语句如何写

2012-04-22 
关于SQL表之间导数据的语句怎么写?有两个表表A的列 SDate, EntRegNO, EntName, RemoveDept, Reason, Opera

关于SQL表之间导数据的语句怎么写?
有两个表
表A的列 SDate, EntRegNO, EntName, RemoveDept, Reason, OperateMan, RecordID, EntID, cCodeBar, RemoveMan, RemovePhone, SMan, SMode, SReason, SState, OperateDate, PassMan, IsValid, IsDW

表B的列 Sdtate, EntRegID, EntName, RemoveDeptCode, Reason, PassMan

现在要把B里的数据导到A,A里很多列的数据就是自动赋值了,请问SQL语句该怎么写?比如RecordID 用newid()来赋。

谢谢!

[解决办法]
多出来的列,LZ需要给出一个值。



select Sdtate, EntRegID, EntName, RemoveDeptCode, Reason, PassMan,'A','B'...
from dbo.Sheet2$


不过多出来的列,可以不写出,当然前提是这列可以为空值,或有默认值,示例如下:

insert into dbo.td_Accept_Errata (
SDate, EntRegNO, EntName, RemoveDept, Reason, OperateMan, RecordID, EntID)
select Sdtate, EntRegID, EntName, RemoveDeptCode, Reason, PassMan,'A','B'
from dbo.Sheet2$

[解决办法]
借楼主代码举个例子:
insert into dbo.td_Accept_Errata (
SDate, EntRegNO, EntName, RemoveDept, Reason, OperateMan, RecordID, EntID, cCodeBar, RemoveMan, RemovePhone, SMan, SMode, SReason, SState, OperateDate, PassMan, IsValid, IsDW
)
select Sdtate, EntRegID, EntName, RemoveDeptCode, Reason, PassMan,'','','','','',''
,'','','','','','',''
from dbo.Sheet2$
如果不允许为空,就将''换成任何你想要初始化的数据,如果允许为NULL,可以换成NULL。

热点排行
Bad Request.