2014-10-17 3 views
0

Таблица instructor имеет несколько столбцов. Я хочу добавить больше значений в столбец name, а значения получены из таблицы student. Условием является то, что выбран только name студентов с tot_cred > 100. Моя попытка ниже, но она возвращает ошибку. Как я могу решить проблему?Как добавить дополнительные строки в существующую таблицу

update instructor 
set id = (select id from student where tot_cred > '100'); 

ошибка в том, что

подзапросов возвращается более чем на 1 значение. Это недопустимо, когда подзапрос следует =,! =, <, < =,>,> = или когда подзапрос используется как выражение.

+0

Можете ли вы дать нам точную ошибку вы получаете, а также версию SQL, которую вы используете ? –

ответ

0
update instructor a set 
a.name = (
    select name from student 
    where id = a.id 
    ) 
where exists (
    select '' from student 
    where id = a.id 
    and tot_cred > '100' 
); 
+0

Добро пожаловать в StackOverflow: если вы отправляете код, XML или образцы данных **, пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «образцы кода» ('{}') на панели инструментов редактора, чтобы красиво отформатировать и синтаксис выделить его! –

3

Вы должны использовать INSERT заявление, не UPDATE заявление:

INSERT INTO instructor (id) SELECT id from student where tot_cred > 100; 
Смежные вопросы