Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.07.2018, 09:32
|
|||
|---|---|---|---|
|
|||
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
MS SQL 2012 Необходимо разбить существующую таблицу с данными на две и связать по ключевым полям. Делал это несколькими способами: 1. Создавал таблицу в существующей БД вручную соответственно типы полей совпадают и затем INSERT INTO Table2 (a1,a2,a3,a4) SELECT DISTINCT a1,a2,a3,a4 FROM Table1 WHERE Table1.a1 IS NOT NULL 2. SELECT DISTINCT a1,a2,a3,a4 INTO Table2 from Table1 затем UPDATE Table1 SET Table1.ID_a=Table2.ID_a FROM Book JOIN Table2 ON (Table1.[a1] = Table2.[a1]) AND (Table1.[a2] = Table2.[a2]) AND (Table1.[a3] = Table2.[a3]) AND (Table1.[a4] = Table2.[a4]) Проблема в том, что если после ON только два сравнения (Table1.[a1] = Table2.[a1]) AND (Table1.[a2] = Table2.[a2]), всё ок всем записям соотвествуют ID, а если четыре то не всем.. в чём может быть косяк? Значения с пробелами, но на сколько я знаю пробелы при сравнении в начале и в конце не учитываются, это даже если они обрезаются при переносе... Пробовал без DISTINCT тоже самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 09:41
|
|||
|---|---|---|---|
|
|||
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
забыл написать.. значения есть и NULL.. при сравнении значения некоторых полей встречается NULL, возвращается false и соответственно id не присваивается.. бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 09:41
|
|||
|---|---|---|---|
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
linker_2004, NULL в значениях, collation полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 09:59
|
|||
|---|---|---|---|
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 10:23
|
|||
|---|---|---|---|
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
linker_2004, Может сделать проще, сделать копию таблицы Код: sql 1. а потом удалить часть данных из первой и другую часть из второй ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 11:02
|
|||
|---|---|---|---|
|
|||
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
Спасибо всем кто откликнулся aleks222 Код: sql 1. 2. 3. 4. 5. красивый вариант, решил так и сделать не всё понял но буду разбираться с intersect в подзапросе ) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2018, 11:05
|
|||
|---|---|---|---|
|
|||
Нужна помощь разбитие таблицы на две с последующим присвоением id |
|||
|
#18+
iiyama, думал и так.. можно было бы и NULL в значениях победить на время заполнив массив тем же 0.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1689422]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
222ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 548ms |

| 0 / 0 |
