Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Вычисление значений столбца  [new]
iap
Member

Откуда: Москва
Сообщений: 47052
Cammomile
Мне тут план запроса подсказывает, что мой вариант на 56 процентов быстрее. Вариант коллеги iap хоть и проще смотрится, сильно просаживается на Top 1 =)
Это какой же?
Я вроде молчу... :)
24 май 13, 13:29    [14344767]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
bez_DELL_nik, что куда совать не совсем понятно, но вы всегда можете отобрать результаты во временную таблицу, а потом этими результатами апдейтить какую-либо целевую таблицу по вашему условию ^_^
24 май 13, 13:30    [14344775]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Cammomile
Мне тут план запроса подсказывает, что мой вариант на 56 процентов быстрее. Вариант коллеги iap (таки invm, наверное?) хоть и проще смотрится, сильно просаживается на Top 1 =)

Даже с индексом на поле id просаживается?
24 май 13, 13:32    [14344791]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Гм, без индекса просаживается =)
24 май 13, 13:32    [14344796]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Вариант коллеги invm , конечно же.

Ох уж мне эти коротенькие ники :D
24 май 13, 13:33    [14344805]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

Откуда:
Сообщений: 28
ID Values Raznost
24 май 13, 13:38    [14344851]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

Откуда:
Сообщений: 28
Cammomile,
Не подскажете , охота чуть-чуть счастье
Первый раз сталкиваюсь со сложными запросами)
24 май 13, 13:39    [14344866]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
А с индексом мой вариант проседает на 38 проц =(
24 май 13, 13:44    [14344891]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Что именно подсказать? Я, в отличие от старших по форум колег, довольно медленно схватываю что нужно рандомному пользователю.

Вот вы получили результат.
Ид / разность до след значения

что вы далее хотите с этим делать ?
24 май 13, 13:45    [14344906]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

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

запись результатов в любую таблицу
24 май 13, 13:48    [14344934]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
А , ну тут возможно следующее
CREATE TABLE #T (VAL int)
INSERT INTO #T SELECT 1 
-- либо
INSERT INTO #T VALUES (1) 

Либо без предварительного создания
SELECT [ColName] = 1 INTO #T
24 май 13, 13:54    [14344976]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
DECLARE @Table TABLE (id int,Val int,Diff int)  

INSERT INTO  @Table(id,val) VALUES (1,34)
INSERT INTO  @Table(id,val) VALUES (2,54)
INSERT INTO  @Table(id,val) VALUES (3,65) 
INSERT INTO  @Table(id,val) VALUES (4,76)



UPDATE t set t.Diff = t.val-isnull(t1.val,0)
FROM    @Table t
left join @Table t1 on t1.id=t.id-1  

SELECT * from @Table order by id
24 май 13, 14:17    [14345181]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

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

Не совсем понятно
[ColName] - имя столбца в который производится запись?
#T - имя таблицы?
24 май 13, 14:23    [14345229]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

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

перебором никак!
Данные каждый час прибавляются
24 май 13, 14:25    [14345240]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
о каком переборе идет речь ?????
24 май 13, 14:26    [14345258]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

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

INSERT INTO @Table(id,val) VALUES (1,34)
INSERT INTO @Table(id,val) VALUES (2,54)
INSERT INTO @Table(id,val) VALUES (3,65)
INSERT INTO @Table(id,val) VALUES (4,76)
24 май 13, 14:31    [14345295]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
ТОВАРИСЧ - ЭТО ТЕСТОВАЯ МОДЕЛЬ ДАННЫХ КОТОРУЮ КСТАТИ ВЫ ДОЛЖНЫ БЫЛИ ПРЕДОСТАВИТЬ!!!!
24 май 13, 14:32    [14345304]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
С ВАШИХ КСТАТИ СЛОВ
bez_DELL_nik
Но лучше , чтобы расчёты были в базе
Glory,
каким образом соединить эти записи, не могу допендрить
столбцы id и value, в value значения накапливаются, т.е.
1 34
2 54
3 65
4 76
как сделать, чтобы получилось
1 34 0
2 54 20
3 65 11
4 76 11
с помощью вычисляемых никак, т.к. работает только с текущей строкой
слабоват я в SQL
24 май 13, 14:33    [14345320]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

Откуда:
Сообщений: 28
Cammomile
А , ну тут возможно следующее
CREATE TABLE #T (VAL int)
INSERT INTO #T SELECT 1 
-- либо
INSERT INTO #T VALUES (1) 


Либо без предварительного создания
SELECT [ColName] = 1 INTO #T


Ошибка - неверный синтаксис
Можно поподробнее пояснить - как столбец из таблицы результатов вставить в таблицу
24 май 13, 15:43    [14345854]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

Откуда:
Сообщений: 28
Создавать таблицу не надо
Есть столбец в искомой таблице
24 май 13, 15:44    [14345861]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Glory
Member

Откуда:
Сообщений: 104751
bez_DELL_nik
Можно поподробнее пояснить - как столбец из таблицы результатов вставить в таблицу

Все вставки делаются командой insert
24 май 13, 15:45    [14345866]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
bez_DELL_nik
Member

Откуда:
Сообщений: 28
Glory
bez_DELL_nik
Можно поподробнее пояснить - как столбец из таблицы результатов вставить в таблицу

Все вставки делаются командой insert

SELECT id, w - ISNULL
((SELECT TOP (1) w
FROM Table_1
WHERE (id < t .id)
ORDER BY id DESC), w) AS p
FROM Table_1 AS t
ORDER BY id DESC
INSERT INTO Table_1 [r] VALUES (1)

SELECT [r] = 1 INTO t
неправильный синтаксис около r
24 май 13, 15:49    [14345896]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Glory
Member

Откуда:
Сообщений: 104751
bez_DELL_nik
неправильный синтаксис около r

И что мешает посмотреть в хелпе правильный синтаксис команды insert ?
24 май 13, 15:51    [14345915]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
iap
Member

Откуда: Москва
Сообщений: 47052
bez_DELL_nik,

сходите уже вот сюда и посмотрите как элементарные операции с данными (SELECT, INSERT, DELETE, UPDATE)
записываются на Transact SQL

http://msdn.microsoft.com/ru-ru/library/bb510741(v=sql.100).aspx

Как можно говорить с человеком, если он не знает азбуки?
24 май 13, 15:53    [14345941]     Ответить | Цитировать Сообщить модератору
 Re: Вычисление значений столбца  [new]
Гость333
Member

Откуда:
Сообщений: 3683
bez_DELL_nik
Cammomile
А , ну тут возможно следующее
CREATE TABLE #T (VAL int)
INSERT INTO #T SELECT 1 
-- либо
INSERT INTO #T VALUES (1) 


Либо без предварительного создания
SELECT [ColName] = 1 INTO #T


Ошибка - неверный синтаксис
Можно поподробнее пояснить - как столбец из таблицы результатов вставить в таблицу

Что, прямо в этом примере неверный синтаксис? Не верю.
24 май 13, 16:07    [14346033]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить