Можно вставить INTO таблицу со значениями из другой таблицы? - PullRequest
1 голос
/ 11 марта 2009

Так скажи, что я хочу ...

вставить в tableA 2 переменные из tableB, но только те строки в tableB, в которых 1 переменная равна определенной вещи ...

хм, давайте посмотрим, могу ли я быть более конкретным ...

Я хочу создать новую строку в таблице A с идентификатором пользователя и идентификатором курса из таблицы В для каждой строки таблицы В, у которой курс 11

пожалуйста, сообщите

Ответы [ 6 ]

17 голосов
/ 11 марта 2009
INSERT
INTO    tableA (col1, col2)
SELECT  userid, courseid
FROM    tableB
WHERE   courseid = 11
4 голосов
/ 11 марта 2009

Ну, не зная, какие у вас столбцы в таблице А, я бы сказал:

insert into tableA
select 
    userid,
    courseid 
from tableB where 
courseid=11
0 голосов
/ 16 апреля 2009

вставить в таблицу A (столбец1, столбец2, столбец3) выберите столбец 1, столбец 2, столбец 3 из таблицы B

0 голосов
/ 11 марта 2009

Вы можете использовать SELECT INTO , если вы создаете новую таблицу, используя существующие данные:

SELECT <columns here> INTO tableA FROM tableB WHERE <restrictions here>

Если вы хотите вставить существующие данные в существующую таблицу, вы должны использовать:

INSERT INTO tableA (<destination columns>) SELECT <source columns> FROM tableB WHERE <restrictions here> 

Как описано в других ответах

0 голосов
/ 11 марта 2009

Вы не упомянули, какую базу данных вы используете.

MS Access, для меня, оказался очень глючным при попытке сделать что-то подобное.

0 голосов
/ 11 марта 2009
INSERT INTO TableA (userid, courseid)

SELECT userid, courseid FROM TableB
WHERE courseid = 11

Это должно сделать это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...