将带有附加变量的选择插入到表中


INSERT SELECT INTO TABLE with additional variables

column我像这样插入:

$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

如何在没有额外更新的情况下执行此操作?

你可以这样做:

$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是一个整数,所以我没有在查询中添加'字符。

我认为您正在寻找的是:

> 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] );