Как удалить ненужные строки и создать новый столбец в SQL? - PullRequest
1 голос
/ 06 ноября 2011

У меня есть две таблицы.

Моя первая таблица называется WORLD, и в этой таблице есть столбец с именем PEOPLE.В таблице ЛЮДИ есть как женские, так и мужские имена.

Моя вторая таблица называется MEN, и в этой таблице есть столбец с именем NAMES.Он состоит из мужских имен.

Я хочу сравнить две таблицы, чтобы найти женские имена и добавить их в столбец с именем "ЖЕНЩИНЫ" в таблице WORLD.

WORLD.PEOPLE MEN.NAMES

John                John
Joe                 Alan
Jessica             Michael
Martin              Martin
Alan                Adam
Eva                 Joe
Mary                

Что я хочу иметь:

WORLD.PEOPLE WORLD.WOMEN

John                Jessica
Joe                 Eva
Jessica             Mary
Martin              
Alan                
Eva                 
Mary                 

Я пытался использовать это утверждение:

ВЫБИРАЙТЕ ЛЮДЕЙ ИЗ МИРА, ГДЕ (Люди НЕ ВХОДЯТ (ВЫБИРАЮТ Имена ИЗ МУЖЧИН)))

Однако это только дает результат, но не обновляет таблицу WORLD.

Что мне делать?

Ответы [ 3 ]

2 голосов
/ 06 ноября 2011

Вы должны попытаться создать новую таблицу и добавить туда значения, а затем удалить таблицу WORLD. Полагаю, вы просто хотите работать над одной базой данных, но я не могу придумать другого более простого способа. С помощью вставки вы получите нулевые значения, поэтому это не будет практичным. Вы можете попробовать то, что я сказал.

1 голос
/ 06 ноября 2011

У вас должно быть какое-то ключевое поле в таблице WORLD для идентификационных записей.Или используйте другую таблицу для женских имен магазинов.

0 голосов
/ 06 ноября 2011
INSERT INTO world(women) SELECT People FROM WORLD WHERE (People NOT IN(SELECT Names FROM MEN)))

или что-то в этом роде?Также см. документацию .Я не уверен, что приведенный выше синтаксис правильный, потому что вы вставляете данные в таблицу, выбирая данные из той же таблицы.Может быть, вам нужно использовать «AS».

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