Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MS SQL

  Все выпуски  

RFpro.ru: Базы данных MS SQL


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гуревич Александр Львович
Статус: Профессионал
Рейтинг: 4625
∙ повысить рейтинг »
Megaloman
Статус: Профессионал
Рейтинг: 1462
∙ повысить рейтинг »
Sipan
Статус: 3-й класс
Рейтинг: 297
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Базы данных: MS SQL, Oracle

Номер выпуска:69
Дата выхода:26.07.2010, 23:00
Администратор рассылки:Victor Pyrlik, Модератор
Подписчиков / экспертов:150 / 64
Вопросов / ответов:3 / 6

Вопрос № 99779: Здравствуйте. Вопрос по MS SQL SERVER 2000. Существет ли какая-либо встроенная функция, позволяющая (наподобие встроенных агрегатных) в коррелирующем подзапросе вычислять произведение значений из столбца? Если нет, то могли бы Вы предложить...


Вопрос № 85637: Здравствуйте!!! Возникла проблемма с установкой SQL Server 2000. При установке пользователя и пароля возникает ошибка The logon account cannot be validated for the SQL Server service... помогите пожалуйсто разобраться в чем дело. Операци...
Вопрос № 108122: Имеется таблица: Дата Товар Кол-Во 2007 машина 5 2008 машина 10 2009 машина 7 2007 коляска 2 2009 кубик 3 2010 кубик 5 как проссусмировать и получить на выходе Товар Кол-во машина 12 коляска ...

Вопрос № 99779:

Здравствуйте. Вопрос по MS SQL SERVER 2000.
Существет ли какая-либо встроенная функция, позволяющая (наподобие встроенных агрегатных) в коррелирующем подзапросе вычислять произведение значений из столбца?
Если нет, то могли бы Вы предложить алгоритм для вычисления подобного произведения исключительно средствами SQL.

Отправлен: 26.08.2007, 23:56
Вопрос задал: юсупов александр федорович
Всего ответов: 1
Страница вопроса »


Отвечает din, Специалист :
Здравствуйте, юсупов александр федорович!
Нет не существует. По правде я за столько лет, впервые такого рода задачу услышал от Вас. Мне лично на ум ничего кроме использования курсора не приходит. В приложении пример, он выполнит Вашу задачу, для конкретного поля, конкретной таблицы и вернет значение. Только обработку ошибки (которая по моему мнению будет появляться довольно часто) я не сделал, извините времени было в обрез. Думаю с этим Вы справитесь. Если обработчик не написать, то курсор скорее всего не будет уничтожен и следующий вызов процедуры будет неудачным. И еще. Я не стал экспериментировать с динамическим SQL по двум причинам:
1. Он настолько плохо реализован в MS SQL 2000, что я крайне редко к нему прибегаю.
2. Я понятия не имею, как через него создать курсор. (Всякого рода попытки создать временную таблицу, привели бы к написанию довольно сложного кода, на что у меня времени просто нет)

Думаю в данном варианте это решение должно подойти.

P.S. Если не сможете корректно обработать ошибку, пишите, постараюсь помочь.

Удачи!

Приложение:

-----
Есть только одно зло - невежество, и только одно благо - знания

Ответ отправил: din, Специалист
Ответ отправлен: 27.08.2007, 09:46

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 180143 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 85637:

    Здравствуйте!!! Возникла проблемма с установкой SQL Server 2000. При установке пользователя и пароля возникает ошибка
    The logon account cannot be validated for the SQL Server service...
    помогите пожалуйсто разобраться в чем дело.
    Операционная система Windows XP

    Отправлен: 06.05.2007, 00:05
    Вопрос задал: Глеб
    Всего ответов: 1
    Страница вопроса »


    Отвечает Кэр Лаэда, Практикант :
    Здравствуйте, Глеб!

    попробуйте пользователь
    sa
    без пароля
    -----
    Я знаю что ничего не знаю, но я знаю больше, чем тот кто думает что знает все

    Ответ отправил: Кэр Лаэда, Практикант
    Ответ отправлен: 07.05.2007, 10:53

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 159361 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 108122:

    Имеется таблица:

    Дата Товар Кол-Во
    2007 машина 5
    2008 машина 10
    2009 машина 7
    2007 коляска 2
    2009 кубик 3
    2010 кубик 5

    как проссусмировать и получить на выходе

    Товар Кол-во
    машина 12
    коляска 2
    кубик 8

    Отправлен: 05.11.2007, 16:37
    Вопрос задал: Мельник Ярослав Анатольевич
    Всего ответов: 4
    Страница вопроса »


    Отвечает din, Специалист :
    Здравствуйте, Мельник Ярослав Анатольевич!
    Вот этим запросом:

    SELECT Товар, SUM(Кол-Во) AS Кол-Во
    FROM Таблица
    WHERE Дата <> 2008
    GROUP BY Товар

    -----
    Есть только одно зло - невежество, и только одно благо - знания

    Ответ отправил: din, Специалист
    Ответ отправлен: 05.11.2007, 17:29

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 192090 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Титов Михаил Анатольевич :
    Здравствуйте, Мельник Ярослав Анатольевич!
    Для таких запросов предназначенны группировки и агрегатные функции, вам в частности понадобится функция Sum. Запрос:

    SELECT Товар, Sum(Кол-во) AS Кол-во
    FROM Таблица
    GROUP BY Товар

    Вот результат только будет

    Товар Кол-во
    машина 22
    коляска 2
    кубик 8

    Ответ отправил: Титов Михаил Анатольевич
    Ответ отправлен: 06.11.2007, 00:23

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 192148 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Челноков Виктор Альбертович, Студент :
    Здравствуйте, Мельник Ярослав Анатольевич!
    Попробуйте следующий запрос
    SELECT машина, SUM([кол-во]) AS сумма
    FROM dbo.Table_1
    GROUP BY машина

    Ответ отправил: Челноков Виктор Альбертович, Студент
    Ответ отправлен: 06.11.2007, 06:56

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 192184 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Dubrovin :
    Здравствуйте, Мельник Ярослав Анатольевич!
    select Товар, sum(Кол-Во)
    from ТАБЛИЦА
    group by Товар

    Ответ отправил: Dubrovin
    Ответ отправлен: 06.11.2007, 11:52

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 192239 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    подать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.16 от 26.05.2010

    В избранное