Sql 如何根据字符串从一个表中检索id,并将其作为int存储在另一个表中?

Sql 如何根据字符串从一个表中检索id,并将其作为int存储在另一个表中?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个companyIdcid,它是一个int类型 分两张桌子 公司网 opprt 我有一个问题,我试图从公司网站检索cid,基于cname公司名称,该名称在检索此id后是字符串。我试图存储opprt,它是int类型 我试过这个密码 select c.cid from companydet c where cname='google' and insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd ) values('@c.cid

我有一个companyIdcid,它是一个int类型 分两张桌子

公司网

opprt

我有一个问题,我试图从公司网站检索cid,基于cname公司名称,该名称在检索此id后是字符串。我试图存储opprt,它是int类型

我试过这个密码

select c.cid 
from companydet c 
where cname='google' 
and insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
values('@c.cid','abc','','','','')

但它不起作用。请帮我解决这个问题,并向我解释我们如何做到这一点?

您可以使用
插入…选择

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
select cid,'abc','','','',''
from companydet
where cname='google' 

您可以使用
insert…选择
进行以下操作:

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
select cid,'abc','','','',''
from companydet
where cname='google' 

我想你需要
插入。选择

insert into opprt( cid, oppdetails, oppfp, oppap, oppcd, oppd )
    select c.cid, 'abc', '', '', '', ''
    from companydet c 
    where cname = 'google' ;

我想你需要
插入。选择

insert into opprt( cid, oppdetails, oppfp, oppap, oppcd, oppd )
    select c.cid, 'abc', '', '', '', ''
    from companydet c 
    where cname = 'google' ;

使用其他表插入到表中的步骤

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
Select Columnname,Columnname1,Colummname2,Columnname3,...etc from companydet
where cname='google'
使用静态值插入值的步骤

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
Values(cid,'abc','','','','')

使用其他表插入到表中的步骤

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
Select Columnname,Columnname1,Colummname2,Columnname3,...etc from companydet
where cname='google'
使用静态值插入值的步骤

insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
Values(cid,'abc','','','','')

您需要使用insert into。。。。select语句。 您还发现opprt中的cid是int,companydt中的cid是varchar,所以您需要将cid分类为int

请按照我的密码

 insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
    select CAST(cid as int),'abc','','','',''
    from companydet
    where cname='google' 

谢谢。

您需要使用“插入到…”。。。。select语句。 您还发现opprt中的cid是int,companydt中的cid是varchar,所以您需要将cid分类为int

请按照我的密码

 insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
    select CAST(cid as int),'abc','','','',''
    from companydet
    where cname='google' 

谢谢。

您可能也想试试这个:

declare @d_cid int
select @d_cid = c.cid from companydet c where cname='google'
insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
values(@d_cid,'abc','','','','')

你可能也想试试这个:

declare @d_cid int
select @d_cid = c.cid from companydet c where cname='google'
insert into opprt( cid,oppdetails,oppfp,oppap,oppcd,oppd )
values(@d_cid,'abc','','','','')

您希望将列从oldTable where conditions选择为新表您希望将列从oldTable where conditions选择为新表