Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
Здраавствуйте! Не подскажите как данные, сосчитанные с помощью 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 был свой экземпляр данной таблицы - я хочу хранить в ней данные о текущем пользователе. Заранее всем благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2002, 13:35 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
А так не годится: \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 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2002, 14:26 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
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-а и/или сессии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2002, 15:01 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
2Glory: Я, конечно, понимаю, что хочется казаться чуть круче, чем все. Но в примере были натуральные числа. Поэтому я не стал писАть ALL. Сорри, если задел Гуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2002, 18:25 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
А если попробовать сделать это через 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2002, 23:11 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
2bik_ Мне кажется (по вашим последним сообщниям вообще) вы несколько обостренно относитесь к сообщениям в форуме и принимаете многие из них лично на свой счет. Могу вас уверить, что данное выше мое сообщение не преследовало целью смешать вас с грязью, понизить вашу самооценку и оценку вас участниками форума путем добавления в ваш запрос предложения ALL. А равно как и лишний раз потешить свои амбиции и самолюбие. Просто я исходил из того, какие числа могут хранится в столбце типа int, а не то, что вопрашающий привел в качестве примера данных, тем более, что он нигде не упомянул про натуральные числа. Можете считать это маленьким уточнением вашего примера. Если же вам не нравится, когда вас уточняют или дополняют, то дайте знать и я постараюсь этого больше не делать. Кроме того, если говорить о гуризме, то пример от Dikobrazz IMHO лучше моего и вашего решения. Кроме того я озвучил уже свое мнение по теме моего личного гуризма в топике про XML дерево. 2asafr Небольшое уточнение насчет глобальных переменных - не существует _пользовательских_ глобальных переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 06:11 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
2Glory, спасибо за уточнение о пользовательских глобальных переменах - учту. Dikobrazz, спасибо - вариант ответа with cube наиболее близок к моему вопросу All, спасибо за участие Вывод, который я сделал - прямой ответ на мой вопрос не существует, т.к. SELECT * FROM #T UNION SELECT SUM(N) FROM #T DROP TABLE #T - первое, что приходит в голову.... Но если кто знает решение проблемы - будет очень интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 08:17 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
>>прямой ответ на мой вопрос не существует Простите за прямой вопрос: вам в выборке показать или в базе сохранить эту сумму? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 08:44 |
|
||
|
Как данные, сосчитанные с помощью COMPUTE поместить в ту же выборку на основе ко
|
|||
|---|---|---|---|
|
#18+
Шакал я паршивый, на ГУРУ гнать начал. Glory, приношу извинения насколько возможно... Вы, как всегда, на высоте! declare @t table (i int) insert @t select 1 select * from @t union all select sum(i) from @t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32029185&tid=1822884]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 420ms |

| 0 / 0 |
