Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Есть таблица с двумя столбцами: Условное_обозначение, Величина О 2 О 4 Т 6 О 8 С 10 С 12 Необходимо сдвинуть значения столбца "Условное_обозначение" относительно "Величины", скажем на 3 строки, т.е. должно получиться следующее Условное_обозначение, Величина О 2 С 4 С 6 О 8 О 10 Т 12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 10:33 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
как насчет временной таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 10:36 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Сделайте поле с автоинкрементом в этой таблице (id), затем перенесите его и, скажем, Величину в другую таблицу, там увеличьте значения поля id на скажем 3, а затем 3 самых больших сделайте 1,2,3 и собственно можно выбирать Условное обозначение из первой таблицы, а величину из второй, а пересекать их по id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 11:40 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо! Прочел ваши ответы и меня осенило!!!!! Поле "Величина" у меня кратная, поэтому вроде все получается сразу set d=8 update t1 set t1.c=t2.c from prob t1, prob t2 where (t1.i+d=t2.i and t1.i+d<=(select max(i) from prob))or (t1.i+d>(select max(i) from prob)and t2.i=t1.i+d-(select max(i) from prob)) где с-"Условное_обозначение", i- "Величина" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 11:57 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Во-первых, задача поставлена не совсем корректно. Она предполагает что записи идут в таблице именно в таком порядке, как Вы это предполагаете. На самом же деле они могут идти в каком то дргом порядке. Соответственно будет нарушена логика. Исключение - если данные которые надо переставить упорядочены по одному из столбцов (на логическом уровне). Т.е конкретно Ваш пример можно решить но пример вида О 112 О 4 Т 6 О 8 С 10 С 12 решить навряд ли получится. Т.е. он может решится, но при добавлении новых данных работать некорректно. Ну а если исходные данные изначально логически упорядочены, тогда так: create table sourcetab(a varchar, b int) insert into sourcetab values ('О',2) insert into sourcetab values ('О',4) insert into sourcetab values ('Т',6) insert into sourcetab values ('О',8 ) insert into sourcetab values ('С',10) insert into sourcetab values ('С',12) --------------------------------------- Create table #temp (id int identity, a varchar, b int) insert into #temp(a,b) select * from sourcetab order by b declare @num int select @num=count(*) from #temp select t1.a, t2.b from #temp t1 join #temp t2 on t1.id-1=(t2.id+2) % @num drop table #temp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 11:59 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Dmitry Объясните чайнику где сдвиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 13:22 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
Не сдвиг, а новая таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2001, 05:03 |
|
||
|
Как сдвинуть значения столбцов относительно друг друга
|
|||
|---|---|---|---|
|
#18+
2 konik: Не понял, Вы хотите сказать, что у Вас не сдвигается что ли??? У меня из Вашего примера О 2 О 4 Т 6 О 8 С 10 С 12 получается то что Вы же и хотите получить: О 2 С 4 С 6 О 8 О 10 Т 12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2001, 08:23 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3565&tid=1826328]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 345ms |

| 0 / 0 |
