2017-01-31 3 views
0

私は私が取得しようとしている問題を持つ2つのテーブル文字列に基づいて1つのテーブルからIDを取得し、別のテーブルにintとして格納する方法はありますか?

companydet

opprt

int型 存在している企業ID CIDを持っていますcidそれを私は、このコード

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

が、そのが動作していないを試してみましたint型タイプ

あるopprtを保存しようとすると、このIDイムをretriving後の文字列であるCNAMEとび名前はで私を助けてくださいこれをどうすればいいのですか?あなたがinsert . . . selectをしたいと思い

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

あなたはoldTableどこ条件からNEWTABLEに列を選択します – scsimon

答えて

0

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

あなたはこのためinsert...selectを使用することができます静的なもの

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

を使用して値を挿入するために、別のテーブル

insert into opprt(cid,oppdetails,oppfp,oppap,oppcd,oppd) 
Select Columnname,Columnname1,Colummname2,Columnname3,...etc from companydet 
where cname='google' 

を使用してテーブルに挿入する

0

insert into .... select文を使用する必要があります。 また、opprtのcidがintでcompanydetのcidがvarcharなので、intにcat cidする必要があります。

私のコードに従ってください。

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

ありがとうございます。

0

あなたもこれを試すたいかもしれません:

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','','','','') 
関連する問題