Оператор SQL Insert с двумя значениями, где одно из них является результатом результата SELECT - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь сделать вставку с одним из значений, поступающих из оператора select.

INSERT INTO Politi.Sager_Kontonumre VALUES (@sagsID, <Result from Select>);

Оператор выбора:

SELECT k.id FROM Bank.Kontonumre k WHERE k.registreringsnummer = @registreringsnummer AND k.kontonummer = @kontonummer;

Есть предложения?

Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 29 августа 2018

Вы можете поместить ваше значение SELECT, которое хотите вставить, в переменную sql, которую вы позже будете использовать в своем INSERT сообщении.

Пример:

SET @sensibleVariableName = (SELECT
                               k.id
                             FROM
                               Bank.Kontonumre k
                             WHERE
                               k.registreringsnummer = @registreringsnummer
                             AND
                               k.kontonummer = @kontonummer);

INSERT INTO Politi.Sager_Kontonumre VALUES (@sagsID, @sensibleVariableName);
0 голосов
/ 29 августа 2018

Это должно работать:

INSERT INTO Politi.Sager_Kontonumre
    SELECT @sagsID, k.id 
     FROM Bank.Kontonumre k
     WHERE k.registreringsnummer = @registreringsnummer 
       AND k.kontonummer = @Kontonummer;
0 голосов
/ 29 августа 2018

Вы должны посмотреть на запрос ниже. Это помогает, когда у вас есть несколько операторов выбора.

INSERT INTO Politi.Sager_Kontonumre
SELECT @sagsID, (SELECT k.id FROM Bank.Kontonumre k WHERE k.registreringsnummer = @registreringsnummer AND k.kontonummer = @kontonummer)
0 голосов
/ 29 августа 2018

Просто введите INSERT с помощью SELECT :

INSERT INTO Politi.Sager_Kontonumre
  SELECT @sagsID, k.id
  FROM Bank.Kontonumre k
  WHERE k.registreringsnummer = @registreringsnummer AND k.kontonummer = @kontonummer;
...