Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нужна помощь разбитие таблицы на две с последующим присвоением 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:32 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
забыл написать.. значения есть и NULL.. при сравнении значения некоторых полей встречается NULL, возвращается false и соответственно id не присваивается.. бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 09:41 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
linker_2004, NULL в значениях, collation полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 09:41 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 09:59 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
linker_2004, Может сделать проще, сделать копию таблицы Код: sql 1. а потом удалить часть данных из первой и другую часть из второй ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 10:23 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
Спасибо всем кто откликнулся aleks222 Код: sql 1. 2. 3. 4. 5. красивый вариант, решил так и сделать не всё понял но буду разбираться с intersect в подзапросе ) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:02 |
|
||
|
Нужна помощь разбитие таблицы на две с последующим присвоением id
|
|||
|---|---|---|---|
|
#18+
iiyama, думал и так.. можно было бы и NULL в значениях победить на время заполнив массив тем же 0.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:05 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1689422]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get first new msg: |
5ms |
get forum data: |
11ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 269ms |
| total: | 403ms |

| 0 / 0 |
