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

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

  Все выпуски  

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


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

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

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

Гуревич Александр Львович
Статус: Профессионал
Рейтинг: 4907
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2346
∙ повысить рейтинг »
Megaloman
Статус: Профессор
Рейтинг: 1726
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Базы данных / MSSQL, Oracle, Interbase, Firebird, FoxPro

Номер выпуска:77
Дата выхода:12.04.2011, 15:30
Администратор рассылки:Victor Pyrlik (Мастер-Эксперт)
Подписчиков / экспертов:137 / 64
Вопросов / ответов:3 / 10

Вопрос № 108122: Имеется таблица: Дата Товар Кол-Во 2007 машина 5 2008 машина 10 2009 машина 7 2007 коляска 2 2009 кубик 3 2010 кубик 5 как проссусмировать и получить на выходе Товар Кол-во машина 12 коляска ...


Вопрос № 75669: Здравствуйте уважаемые эксперты. Ответьте на такой вопрос: Можно ли в MSSQL Server ввести свой тип данных(например, 2-х bit-ную)? Если да то, как это сделать? Заранее благодарю ..
Вопрос № 74379: Как скопировать таблицу или содержание таблицы с SQL Server 2000 в базу данных SQL Server 2005 Express, расположенную локально без сети. ...

Вопрос № 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 Товар
Россия, Москва
Организация: Биг-Софт
Адрес: г.Москва
ICQ # 911219
Абонент Skype: b.tsechoev

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

Ответ отправил: 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:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 75669:

    Здравствуйте уважаемые эксперты.
    Ответьте на такой вопрос:
    Можно ли в MSSQL Server ввести свой тип данных(например, 2-х bit-ную)? Если да то, как это сделать?
    Заранее благодарю

    Отправлен: 14.02.2007, 10:20
    Вопрос задал: Ram
    Всего ответов: 3
    Страница вопроса »


    Отвечает Jadd (Специалист) :
    Здравствуйте, Ram!
    Нужно пойти в Enterprise Manager. Открываем базу данных. Там есть пункт User Defined Data Types. Создайте свой тип данных такой, какой Вам надо.

    Удачи. Адрес: Санкт-Петербург
    Адрес сайта: http://www.sport-diary.ru

    -----
    Если в сердце дверь закрыта, нужно в печень постучаться

    Ответ отправил: Jadd (Специалист)
    Ответ отправлен: 14.02.2007, 10:33

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 143435 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Лимп (Практикант) :
    Здравствуйте, Ram!
    Насколько знаю DataType можно выбрать только из имеющихся в MS SQL Server, а вот проблемка эта решаема с помощью стандартный DataTape сервера, некто не мешает из стандартныйх сделать хранение в нужном формате, том же char записываеш 2-х битный тип как строку из 0 или 1 а вот потом уже из СУБД работаеш как с битом только преобразуя строку. Россия, Санкт-Петербург
    Mail.ru-агент: limpmax@mail.ru

    Ответ отправил: Лимп (Практикант)
    Ответ отправлен: 14.02.2007, 10:46

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 143442 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Grigory (Практикант) :
    Здравствуйте, Ram!
    Это сделать можно. Для этого надо открыть MS SQL Server Enterprise Manager, зайти в нужную вам БД (например, Northwind), нажать правой кнопкой мышки на User Defined Data Types и выбрать New User Defined Data Type... Далее - следуйте инструкциям.

    PS: Конкретно bit(2) вы там сделать не сможете - MS SQL Server этого делать не разрешает, а создать свой строковый или цифровой тип данных - это пожалуйста.

    Удачи!
    США, Пеннсильвания
    Адрес сайта: Страничка моего клуба
    ICQ # 11113677
    Mail.ru-агент: grigorythegreat@mail.ru
    Абонент Skype: grigory_rubinstein

    -----
    Если хочешь быть счастливым - будь им! (Козьма Прутков)

    Ответ отправил: Grigory (Практикант)
    Ответ отправлен: 14.02.2007, 17:12

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


    Вопрос № 74379:

    Как скопировать таблицу или содержание таблицы с SQL Server 2000 в базу данных SQL Server 2005 Express, расположенную локально без сети.

    Отправлен: 06.02.2007, 11:42
    Вопрос задал: Квасников Виктор Михайлович
    Всего ответов: 3
    Страница вопроса »


    Отвечает Heartwork :
    Здравствуйте, Квасников Виктор Михайлович! Если есть возможность, лучше делать выгрузку/загрузку мастером Export|Import в данных версиях SQL Server, но промежуточный файл лично я предпочитаю складывать в файл базы Access формата mdb. Например: в Sql 2000 выбираем нужную базу, правой кнопкой мышки по ней, Все Задачи -> Export Data -> Далее, Источник Данных (DataSource) выбираем точно или оставляем без изменения, по умолчанию это и есть наша база, по которой мы кликнули мышкой. Жмем Далее. Выбираем Destination (назначение). В принципе, можно перебрасывать данные через что угодно, имеющее моно-файловую структуру (dbf, txt,csv и пр.), но мы используем mdb. В контроле Destination выбираем Microsoft Access (предварительно создайте пустую базу Access или используйте имеющуюся), В контроле FileName выберите путь к этому файлу базы Access. Далее. В следующем окне оставляем по умолчанию "Copy table... from the source database". В следующем окне ставим галку возле той таблицы, которую выгружаем. Далее. RunImmediately - выставляем этот параметр, если нет галки. Далее. Готово. Если всё верно, таблица обязана скопироваться в выбранный файл Access. Можно открыть его и убедиться. Теперь этот Access-файл, несем его на машину, где SQL 2005, открываем Management Studio, выбираем нужную базу, снова правой кнопкой, Tasks -> Import Data -> Next -> выбираем источник данных (Microsoft Access), подставляем в FileName путь на него, в Destination указываем нужную базу под SQL 2005, Далее, Copy Data ..., выбираем нашу таблицу из имеющихся в mdb-файле, Next, Execute Immediately, Next, Finish. Правой кнопкой по списку таблиц в нашей базе под SQL 2005 -> Refresh. А вот и наша таблица из SQL 2000. Успехов!

    Ответ отправил: Heartwork
    Ответ отправлен: 06.02.2007, 12:43

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 141612 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Лимп (Практикант) :
    Здравствуйте, Квасников Виктор Михайлович!
    SQL Server 2000 -> Enterprise Manager -> Tools -> Data Transformation Services -> Export Data, импортируеш свою DataBase, а в SQL Server 2005 Express -> Import Data . Россия, Санкт-Петербург
    Mail.ru-агент: limpmax@mail.ru

    Ответ отправил: Лимп (Практикант)
    Ответ отправлен: 06.02.2007, 12:56

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 141622 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Grigory (Практикант) :
    Здравствуйте, Квасников Виктор Михайлович!
    Если в SQL Server 2005, то надо создать скрипт для создания этой таблицы. В SQL Server 2000 это достигается нажатием на таблицу правой кнопкой мышки внутри Enterprise Manager\'а и затем выбрать All Tasks --> Generate SQL Script.
    Для того, чтобы не потерять данные, можно также создать скрипт такого типа:
    select \'insert into TableName (CategoryName)
    values (\'\'\' + CategoryName +\'\'\')\'
    from Categories

    После того, как создадите оба скрипта, запустите их в SQL Server 2005 в Query Analyzer\'е - сначала скрипт создания вашей таблицы, затем скрипт, который заполнит ее данными.

    Удачи!

    Григорий США, Пеннсильвания
    Адрес сайта: Страничка моего клуба
    ICQ # 11113677
    Mail.ru-агент: grigorythegreat@mail.ru
    Абонент Skype: grigory_rubinstein

    -----
    Если хочешь быть счастливым - будь им! (Козьма Прутков)

    Ответ отправил: Grigory (Практикант)
    Ответ отправлен: 06.02.2007, 19:13

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


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

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

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

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

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

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

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



    В избранное