Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос на выборку из одной таблицы по критерию из другой  [new]
jan120117
Member

Откуда:
Сообщений: 6
Имеются 2 таблицы, одна представлена в виде справочника с неповторяющимися уникальными значениями, ТАБЛИЦА1 структура: ID, name

вторая таблица (ТАБЛИЦА2) по структуре представляет из себя: ID, ID_name, ID_control, name, control, при этом в этой таблице значения в колонке name могут повторятся, как мне заполнить колонку ID_name значениями ID из ТАБЛИЦА1 по соответствию
11 дек 18, 15:53    [21760501]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7383
jan120117,

по соответствию чего с чем?
11 дек 18, 16:05    [21760519]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
jan120117
Member

Откуда:
Сообщений: 6
Владислав Колосов,

к примеру

Таблица1
ID, name
1 Mike
2 Spike
3 Like
4 Nike
5 Flake
...

Таблица 2
ID, ID_name, ID_control, name, control
1 NULL NULL Mike Office
2 NULL NULL Mike House
3 NULL NULL Spike Shop
4 NULL NULL Flake Office
5 NULL NULL Spike Shop
.....


Задача в том чтобы в Таблице2 после отработки запроса заполнилась колонка ID_name соответствующими значениями из колонки ID Таблицы1 :

Таблица 2
ID, ID_name, ID_control, name, control
1 1 NULL Mike Office
2 1 NULL Mike House
3 2 NULL Spike Shop
4 5 NULL Flake Office
5 2 NULL Spike Shop
11 дек 18, 16:23    [21760546]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
londinium
Member

Откуда: Киев
Сообщений: 1135
jan120117,
попробуйте что-то в духе
UPDATE T SET
 T.ID_name=X.ID
FROM [ТАБЛИЦА2]T
JOIN [ТАБЛИЦА1]X
ON T.[NAME]=X.[NAME]
11 дек 18, 16:26    [21760552]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
jan120117
Member

Откуда:
Сообщений: 6
londinium,

проблема в том, что значения name из таблицы 2 могут повторятся, и соответственно у первого из повтора ID_name - будет, у последующих - нет, будет значение NULL
11 дек 18, 16:32    [21760564]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
Shakill
Member

Откуда: мск
Сообщений: 1870
jan120117
londinium,

проблема в том, что значения name из таблицы 2 могут повторятся, и соответственно у первого из повтора ID_name - будет, у последующих - нет, будет значение NULL

а вы пробовали?
11 дек 18, 16:35    [21760567]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
jan120117
Member

Откуда:
Сообщений: 6
Shakill,

да
11 дек 18, 16:47    [21760584]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Проблема может быть в другом.
Если name вводились вручную (а как иначе?!), то вполне возможны ошибки и неточности.
Например, вместо английской буквы o - русская о, вместо английской с - русская с и т.п.
Разница в регистрах букв. Если внутри name возможны разделители, то возможно их разное количество.
Бывают разные варианты написания одного и того же имени (типа Наталья - Наталия, хотя, может, это разные имена?).

То есть, сравнивать строковые значения - дело неблагодарное и ненадёжное (кстати, е и ё - это разные буквы? )

P.S. про NULL при задвоенных именах - это перл, конечно. В данном конкретном запросе, естественно.
11 дек 18, 16:50    [21760588]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
jan120117
Member

Откуда:
Сообщений: 6
iap,

влияет ли что в таблице1 значений меньше, чем в таблице2? у меня он именно подставляет значения в таком объеме, например в справочнике - таблица 1 кол-во записей 10000, а в таблице 2 записей 40000 (но при этом в этих записях есть повторы по колонке name), так вот после запроса на обновление, обновляется только 10000 записей, у остальных в ID_name проставляет NULL
вот так выглядит это у меня

1 1 NULL Mike Office
2 NULL NULL Mike House
3 2 NULL Spike Shop
4 5 NULL Flake Office
5 NULL NULL Spike Shop
.....
11 дек 18, 17:37    [21760634]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
jan120117
обновляется только 10000 записей

Не нужно использовать Access, делайте через студию SSMS.
11 дек 18, 17:44    [21760639]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку из одной таблицы по критерию из другой  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
jan120117,

А, Вы же на Visual Basic под .NET пишете. Ну тогда гуглите "WFA Datasource Max Records Limit 10000".
11 дек 18, 17:49    [21760647]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить