Вставка в таблицу из оператора выбора и жестко закодированных значений - PullRequest
3 голосов
/ 30 ноября 2011

Я пытаюсь сделать что-то вроде этого:

INSERT
INTO
  my_test
  (
    name,
    sirname,
    Dept
  )
  VALUES
  (('First Name'),(SELECT sirname, Dept FROM my_test_backup WHERE dept = 500));

Ошибка, которую я получаю - слишком много значений.

Ответы [ 5 ]

7 голосов
/ 30 ноября 2011

Если вы хотите вставить жестко запрограммированное значение, сделайте его частью выбора.

insert into my_test
   (name, sirname, dept)
   (select 'First Name'
          ,sirname
          ,dept
      from my_test_backup
     where dept = 500)
2 голосов
/ 30 ноября 2011
INSERT INTO my_test( name, sirname, Dept ) 
    (SELECT 'First Name', sirname, Dept FROM my_test_backup WHERE dept = 500)
1 голос
/ 30 ноября 2011

Вы можете попробовать это

INSERT INTO my_test ( name, sirname, Dept )
(SELECT 'firstname' as name,sirname, Dept FROM my_test_backup WHERE dept = 500);
1 голос
/ 30 ноября 2011

Я думаю, что это должно быть

INSERT INTO my_test ( name, sirname, Dept ) 
(SELECT FirstName, sirname, Dept FROM my_test_backup WHERE dept = 500);
0 голосов
/ 30 ноября 2011
INSERT INTO my_test 
(name, sirname, Dept)

SELECT name, sirname, Dept
FROM my_test_backup
WHERE dept=500;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...