Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко / 9 сообщений из 9, страница 1 из 1
29.04.2002, 13:35
    #32029177
asafr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
Здраавствуйте! Не подскажите как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе которой они были получены? Т.е. Выполните следующий скрипт в Quary Analyzer и Вы поймете о чем я..

SP> CREATE TABLE #T(N INT)
SP> INSERT INTO #T VALUES(1)
SP> INSERT INTO #T VALUES(2)
SP> INSERT INTO #T VALUES(3)
SP> SELECT * FROM #T COMPUTE SUM(N)
SP> DROP TABLE #T

И еще 2 небольших вопроса:
1. Есть ли в MS SQL 2000 глобальные переменные ??
2. Можно ли создать временную таблицу в пределах одной сессии, которая уничтожалась бы при отключении клиента ? То есть мне нужно чтобы у каждого клиента MS SQL был свой экземпляр данной таблицы - я хочу хранить в ней данные о текущем пользователе.
Заранее всем благодарен.
...
Рейтинг: 0 / 0
29.04.2002, 14:26
    #32029185
bik_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
А так не годится:
\nCREATE TABLE #T(N INT)
INSERT INTO #T VALUES(1)
INSERT INTO #T VALUES(2)
INSERT INTO #T VALUES(3)
SELECT * FROM #T
UNION
SELECT SUM(N) FROM #T
DROP TABLE #T

?
...
Рейтинг: 0 / 0
29.04.2002, 15:01
    #32029194
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
CREATE TABLE #T(N INT)
INSERT INTO #T VALUES(1)
INSERT INTO #T VALUES(2)
INSERT INTO #T VALUES(3)
SELECT * FROM #T
UNION ALL
SELECT SUM(N) FROM #T
DROP TABLE #T

1. Нет
2. Локальные временные таблицы собственно и видны только в пределах одной сессии и автоматически удаляются по окончании batch-а и/или сессии
...
Рейтинг: 0 / 0
29.04.2002, 18:25
    #32029210
bik_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
2Glory:

Я, конечно, понимаю, что хочется казаться чуть круче, чем все.
Но в примере были натуральные числа. Поэтому я не стал писАть ALL.

Сорри, если задел Гуру.
...
Рейтинг: 0 / 0
29.04.2002, 23:11
    #32029225
Dikobrazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
А если попробовать сделать это через CUBE:
CREATE TABLE #T(N INT)
INSERT INTO #T VALUES(1)
INSERT INTO #T VALUES(2)
INSERT INTO #T VALUES(3)

SELECT SUM(N) FROM #T
GROUP BY N WITH CUBE

DROP TABLE #T
...
Рейтинг: 0 / 0
30.04.2002, 06:11
    #32029257
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
2bik_

Мне кажется (по вашим последним сообщниям вообще) вы несколько обостренно относитесь к сообщениям в форуме и принимаете многие из них лично на свой счет. Могу вас уверить, что данное выше мое сообщение не преследовало целью смешать вас с грязью, понизить вашу самооценку и оценку вас участниками форума путем добавления в ваш запрос предложения ALL. А равно как и лишний раз потешить свои амбиции и самолюбие.
Просто я исходил из того, какие числа могут хранится в столбце типа int, а не то, что вопрашающий привел в качестве примера данных, тем более, что он нигде не упомянул про натуральные числа. Можете считать это маленьким уточнением вашего примера. Если же вам не нравится, когда вас уточняют или дополняют, то дайте знать и я постараюсь этого больше не делать.

Кроме того, если говорить о гуризме, то пример от Dikobrazz IMHO лучше моего и вашего решения.
Кроме того я озвучил уже свое мнение по теме моего личного гуризма в топике про XML дерево.


2asafr
Небольшое уточнение насчет глобальных переменных - не существует _пользовательских_ глобальных переменных.
...
Рейтинг: 0 / 0
30.04.2002, 08:17
    #32029277
asafr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
2Glory, спасибо за уточнение о пользовательских глобальных переменах - учту.
Dikobrazz, спасибо - вариант ответа with cube наиболее близок к моему вопросу
All, спасибо за участие
Вывод, который я сделал - прямой ответ на мой вопрос не существует, т.к.
SELECT * FROM #T
UNION
SELECT SUM(N) FROM #T
DROP TABLE #T - первое, что приходит в голову....
Но если кто знает решение проблемы - будет очень интересно
...
Рейтинг: 0 / 0
30.04.2002, 08:44
    #32029282
Ольга
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
>>прямой ответ на мой вопрос не существует

Простите за прямой вопрос: вам в выборке показать или в базе сохранить эту сумму?
...
Рейтинг: 0 / 0
30.04.2002, 13:31
    #32029329
pik_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
Шакал я паршивый, на ГУРУ гнать начал.
Glory, приношу извинения насколько возможно...
Вы, как всегда, на высоте!

declare @t table (i int)
insert @t select 1
select * from @t
union all
select sum(i) from @t
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]