вставить данные одного столбца из таблицы в другую таблицу, но данные другого столбца будут указываться динамически - PullRequest
0 голосов
/ 04 марта 2011

у меня есть 2 таблицы. СТОЛ КОЛОННЫ - помощь, анаме СТОЛОВЫЕ КОЛОННЫ - ставка, имя

из таблицы A, я возьму данные из столбца 'помощь', И вставьте его в 'bid' столбец таблицы B, но в bname столбец таблицы B я добавлю новое значение. как мне это сделать?

create table A(aid int,aname char)

insert into A values(111, 'e') 


create table B(bid int, bname char)


insert into B (bid,bname)

ставка будет принимать значение из запроса: выберите помощь из bname получит новое значение -m

ожидаемый результат должен быть: ТАБЛИЦА Б ИМЕЕТ:

ставка bname --- ----- 111 м

1 Ответ

2 голосов
/ 04 марта 2011

Попробуйте это:

insert into b (bid, bname) select aid, 'm' as bname_fixed_val from a

Два факта позволили решить выше:

  1. Предложение insert .. select позволяет вставлять значения, возвращенные с любым select.
  2. Вы можете возвращать постоянные значения в виде полей с select, например:

    SELECT 0 as id, 'John' as name
    

Объединив эти две точки вместе, я использовал предложение insert..select, чтобы выбрать значение поля из первой таблицы (aid), а также постоянное значение для второго поля (m). Предложение AS bname_fixed_val является просто псевдонимом поля и может быть опущено.

Для получения дополнительной информации о SQL, вот ссылка: http://www8.silversand.net/techdoc/teachsql/index.htm,, хотя поиск в Google не повредит также.

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