Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Переставить значения строк местами


Автор: Иль 16.5.2006, 23:38
Думаю как переставить значения строк местами на одном SQL и T-SQL
Подскажите красивое решение smile
Код

id     val

42   "ee"
85   "vv"
 

Автор: Vit 17.5.2006, 15:52
Код


Select 42, val Into #t From MyTable where id=85
Insert into #t 
Select 85, val From MyTable where id=42

Update MyTable
Set val=t.val
From MyTable m
Inner join #t  t on t.id=m.id
 
  

Автор: Иль 18.5.2006, 09:30
Код

No column was specified for column 1 of '#t'

Я получил такой результат. Что это значит.

Добавлено @ 09:43 
Спасибо Vit, методом "постепенного обрезания" понял что не работает без AS'ов у временной таблицы #t
Код

SELECT     42 AS id, val INTO #t FROM MyTable WHERE id = 85
INSERT INTO #t
SELECT 85 AS id, val FROM MyTable WHERE id = 42

UPDATE MyTable
SET val = t .val
FROM MyTable m
INNER JOIN #t   t ON t .id = m.id
 

Автор: Vit 18.5.2006, 15:42
Виноват, забыл... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)