Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 16:03   #1
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию сумма результатов запросов

помогите, пожаалста!!
только не плюйтесь, когда вопрос прочитаете....

у меня несколько запросов, их результаты - числа (тип real)/ как мне теперь с этими результатами производить вычисления???
Ks2010 вне форума Ответить с цитированием
Старый 11.11.2010, 16:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А какая разновидность SQL имеется ввиду и под какой СУБД нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2010, 17:01   #3
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Напишите конкретней, что хотите сделать и какие запросы.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 11.11.2010, 17:10   #4
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

запросы очень длинные, с условиями if (всего получается 10 или 11 чисел - вот с ними мне дальше и надо работать - арифметические операции)
код приводить нет смысла - это своеобразный калькулятор...

пишу в Microsoft SQL Management studio (больше ничего сказать не могу =) в смысле хотела бы, но не знаю что =)) )
таблички, к которым привязываюсь тут же

мне надо по идее просто присвоить переменной значение, которое получилось в результате запроса....
Код:
declare @var1 real
set @var1 = а вот что здесь написать..??????

Последний раз редактировалось Stilet; 11.11.2010 в 20:47.
Ks2010 вне форума Ответить с цитированием
Старый 11.11.2010, 17:49   #5
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

C MS SQL никогда не работал.
Но попробуй.

declare @var1 real
set @var1 = ваш запрос типо select min(sal) from emp

Точно не могу сказать
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 11.11.2010, 18:10   #6
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

Код:
declare @var1 real
set @var1 = ваш запрос типо select min(sal) from emp
не так не получается
в этом то и беда, что я синтаксиса тож не знаю... =(
Ks2010 вне форума Ответить с цитированием
Старый 11.11.2010, 20:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 declare @Перемнка float=(select min(sal) from emp)
Забьет в переменку минимальное по запросу.
Понятно куда двигаться?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 09:28   #8
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

Можно попробывать суммировать в самом запросе, объединив отдельные запросы через union all. Только результирующие поля отдельных запросов должны быть переназваны идентично (в примере - res).

Код:
select sum(res) sum_result
from (
select field1 res from table1 where id = 1
union all
select field2 res from table2 where id = 1
union all
select field3 res from table3 where id = 1
)
Код для Oracle, но в MS SQL тоже должен заработать
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 12.11.2010, 10:31   #9
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

бли-и-ин... не знаю как мне сделать =(
Код:
 declare @Перемнка float=(select min(sal) from emp)
так на код ругается 'Incorrect syntax...'

а так
Код:
select sum(res) sum_result
from (
select field1 res from table1 where id = 1
union all
select field2 res from table2 where id = 1
union all
select field3 res from table3 where id = 1
)
не могу сделать.
вот почему:
у меня 11 вот таких запросов
Код:
select cast( (@num1*@a1 + @num2*@b1 + @num3*@c1 + @num4*@d1  + @num5*@e1 + @num6*@f1) as real)
и я объявляю переменные перед каждым запросом, поэтому и не получится сделать один общий большой запрос.....
Ks2010 вне форума Ответить с цитированием
Старый 12.11.2010, 11:06   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так на код ругается 'Incorrect syntax...'
Проверил - все работает.
Цитата:
у меня 11 вот таких запросов
А просто написать?
Код:
declare @result float = @num1*@a1 + @num2*@b1 + @num3*@c1 + @num4*@d1  + @num5*@e1 + @num6*@f1;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выбор результатов Yurk@ БД в Delphi 6 17.09.2010 23:17
Перебор результатов coirius Помощь студентам 3 12.12.2009 14:04
Анализ результатов Foxtrot_1 Помощь студентам 0 04.10.2009 18:49
Сохранение результатов May86 Microsoft Office Excel 2 24.09.2009 15:10
Сохранение результатов program123 Общие вопросы Delphi 1 13.03.2009 22:10