INSERT SELECT INTO TABLE с дополнительными переменными

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 ответа

Решение

Вы можете сделать это так:

$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] );
Другие вопросы по тегам