使用其他变量INSERT SELECT INTO TABLE

时间:2013-10-08 08:16:15

标签: php tsql sql-insert insert-select

columnI执行如下插入:

$sql = "
INSERT INTO EHS.dbo.T_Kunden_ApArchiv ([KuNr] ,[KontaktName] ,[KontaktVorname] ,[KontaktpersonPosition] ,[Anrede] ,[Abteilung] ,[OrtsName] ,[KStraße] ,[KPlz] ,[KTel] ,[KFax] ,[KHandy] ,[Ke-mail] ,[KInternet])
SELECT [KuNr] ,[KontaktName2] ,[KontaktVorname2] ,[KontaktpersonPosition2] ,[Anrede2] ,[Abteilung2] ,[OrtsName2] ,[KStraße2] ,[KPlz2] ,[KTel2] ,[KFax2] ,[KHandy2] ,[Ke-mail2] ,[KInternet2] FROM EHS.dbo.T_Kunden 
WHERE KuNr = '".$data['kundenNR']."'";

// execute
odbc_exec($db1_link, $sql);

一切都很好,但我必须在php $vertriebNr栏中加入ArchiviertDurch

如果没有额外的更新,我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$sql = "INSERT INTO EHS.dbo.T_Kunden_ApArchiv ([KuNr] ,[KontaktName] ,[KontaktVorname] ,
            [KontaktpersonPosition] ,[Anrede] ,[Abteilung] ,[OrtsName] ,[KStraße] ,
            [KPlz] ,[KTel] ,[KFax] ,[KHandy] ,[Ke-mail] ,[KInternet], 
            [ArchiviertDurch])
        SELECT [KuNr] ,[KontaktName2] ,[KontaktVorname2] ,[KontaktpersonPosition2] ,
               [Anrede2] ,[Abteilung2] ,[OrtsName2] ,[KStraße2] ,[KPlz2] ,[KTel2] ,
               [KFax2] ,[KHandy2] ,[Ke-mail2] ,[KInternet2], " . $vertriebNr . "
        FROM EHS.dbo.T_Kunden 
        WHERE KuNr = '".$data['kundenNR']."'";

// execute
odbc_exec($db1_link, $sql);

我假设$vertriebNr是一个整数,所以我没有在查询中添加'个字符。

答案 1 :(得分:0)

我认为你在寻找的是:

> INSERT INTO EHS.dbo.T_Kunden_ApArchiv ([KuNr] ,[KontaktName]
> ,[KontaktVorname] ,[KontaktpersonPosition] ,[Anrede] ,[Abteilung]
> ,[OrtsName] ,[KStraße] ,[KPlz] ,[KTel] ,[KFax] ,[KHandy] ,[Ke-mail]
> ,[KInternet],[the column where you want ArchiviertDurch] ) 
>  VALUES( SELECT ([KuNr] ,[KontaktName2] ,[KontaktVorname2]
> ,[KontaktpersonPosition2] ,[Anrede2] ,[Abteilung2] ,[OrtsName2]
> ,[KStraße2] ,[KPlz2] ,[KTel2] ,[KFax2] ,[KHandy2] ,[Ke-mail2]
> ,[KInternet2] FROM EHS.dbo.T_Kunden WHERE KuNr = 'K000097'), [ArchiviertDurch] );