Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Открыть новую тему     Написать ответ в эту тему

Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MICROSOFT SQL SERVER
 
тема посвящена выяснению ответов на вопросы, касающихся установки, функционирования и использования Microsoft SQL Server; также обсуждаются вопросы, касающиеся использования T-SQL (диалект SQL-языка, используемого в этой версии сервера)
 
популярные ответы на популярные вопросы "где скачать?" и "чем сломать?" можно найти здесь

 
 
Официальная документация:
SQL Server 2005 Books Online (original/english, 135MB, september 2007);
SQL Server 2005 Books Online (перевод/русский, 148MB, январь 2009);
 
 
Официальные обновления:
[для версий, начиная с 9.0.3042] / [полный перечень обновлений / зеркало]
03/06/2007: KB933508 (9.0.3042 > 9.0.3050);
04/03/2007: KB934458 (9.0.3050 > 9.0.3054);
04/03/2007: KB934459 (9.0.3054 > 9.0.3159);
06/28/2007: KB936305 (9.0.3159 > 9.0.3175);
 
 
Альтернативные источники информации:
sql.ru - очень полезный ресурс с говорящим за себя названием; пожалуй, лучший (если не единственный) на просторах ru'нета; кроме форумов есть большая подборка статей, FAQ, и прочее.

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 11:49 18-07-2003 | Исправлено: niichavo, 16:13 02-04-2010
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
select t1.grp, t1.price,
    case when t1.price between t2.price_min and t2.price_max then 'ok' else 'выброс' end
from tablename t1 inner join  
    (select grp, avg(price) - 500000 price_min, avg(price) + 500000 price_max  
    from tablename  
    group by grp) t2
    on t1.grp = t2.grp
 

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 14:07 29-05-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
очень даже гут, тэнькью.
 
А не подскажите, как сделать те же математические действия , в частности рассчитать 95% доверительный интервал ?
формула простая:
 
mean-(1,96*(sigma/Vn);mean+(1,96*(sigma/Vn)
где
mean это среднее арифю. по конкретной категории.
sigma= это стандартное отклонение внутри этой же категории
Vn =это корень из выборки, например если в категории1 100 наблюдений, значит это значение будет равно 10
 
Если я невнятно свою просьбу поясню, то выглядеть должен так на выходе


Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 16:20 29-05-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
mean ~ avg(X)
sigma ~ stdev(X) or stdevp(X)
Vn ~ power(count(X),0.5)

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 18:04 31-05-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vikkiv
а как мне все это записать в выражение ,чтобы для каждой категории расчитало и выдало в нужном формате.

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 18:18 31-05-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050 - ну прямо так и будет, например есть у тебя какой-то случайный набор данных, тогда:
Код:
select a grp,avg(b)mean,count(b)n,avg(b)-(1.96*stdev(b)/power(count(b),0.5))CL_low,avg(b)+(1.96*stdev(b)/power(count(b),0.5))CL_up
from(values('cat1',934871),('cat3',404193),('cat2',884252),('cat3',410836),('cat1',768064),('cat3',873219),('cat1',460553),
('cat1',605901),('cat3',142404),('cat1',667695),('cat2',753180),('cat3',614076),('cat3',691901))x(a,b)group by a order by 1
можешь условия проверки добавить чтобы null не выскакивали если кол-во строк для группы = 1
 
Добавлено:
..это если конечно уверен что распределение действительно нормальное
 
Добавлено:
да, ещё типы данных на нескольких шагах (count/power и др. по необходимости) конвертировать до нужной точности придётся

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 03:40 01-06-2017
egorsu

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с этими SQL, пожалуйста.  
 Одна программа (на SQL2005exp) однажды начала выдавать ошибки баз данных.  
 Начал переставлять её и SQL2005exp  
 Много раз.  
 Потому что не получалось с одного раза.  
 То установка зависает, то ошибка, то еще что...  
 Вроде заработало.  
 Но что-то потер лишнего.  
 Так как хотело устанавливаться начисто. Хвосты всякие мешали.  
 Приходилось тереть и реестр, и папки по поиску.  
   
 При загрузке системы  стала вылетать ошибка 1.  
 Жму ОК - ошибка 2.  
   
http://savepic.ru/14227542.jpg  
   
 В папке /Program Files/Microsoft SQL Server подпапки:  
   
 100  
 80  
 90  
 InetPub  
 MSSQL  
 MSSQL$EG_APPSRV_JBOSS  
 MSSQL.2  
 MSSQL.3  
 MSSQL10.SQLEXPRESS  
 MSSQL10_50.SQLEXPRESS2008  
   
 Действительно, в папке 80 нет там дальше подпапки 1049, только 1033.  
   
 Узнал в инете, что 80 - это SQL2000.  
 Есть в этой папке упоминания про MSSQL$EG_APPSRV_JBOSS.  
 Но в установочных файлах этой программы нет SQL2000.  
 Только 2005SP2.  
Кинул туда папку 1049 из папки 100 (только там была такая).
Стало при перезагрузке без ошибок, только окошко с одной кнопкой ОК.
Глянул - это какой-то servicemanager из автозагрузки. Екзешник сидит в папке 80.
Я этот servicemanager отключил через msconfig - тишина.
 
А программа (которая типа пользуется этим SQL.80 - это вообще огромный пакет.
Что там теперь работает, что нет - непросто понять.
 
 В общем, бардак какой-то.  
 Возможно, несколько программ используют один SQL (например, 2005).  
 Что-то работает с ошибками баз данных.  
 Скажем, не подгружаются какие-то данные.  
 Или не с первого раза открываются, типа, времени не хватило.  
   
 Как навести здесь порядок?  
 Например, что такое compact 3.5?  
 Что за странные значки у него в окне "Установка программ"?  
 Cкачал такое (типа, накатить сверху), а для его работы нужен IIS 5.1.  
 Должно устанавливаться из "Установки Windows" - не хочет.  
 Требует установочный диск, и ни один мой не подходит.  
   
 Для какой (моей) программы какие SQL нужны?  
 Я примерно помню (лет 10 это всё), что штук 5 программ устанавливали всякие SQL.  
 Где это смотреть?  
 Что можно удалить (может, самой программой я уже не пользуюсь), что починить?  
   
 Только имейте в виду, что чайнику рассказываете.

Всего записей: 330 | Зарегистр. 20-02-2009 | Отправлено: 23:55 03-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, у меня поле ID имет тип варчар(50) как сменить тип на PK(primary key)

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 17:20 04-06-2017 | Исправлено: Fsp050, 17:36 04-06-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050 это разные свойства структуры объекта (таблицы), как цвет вкус и форма, поле может быть одновременно PK и varchar(), для PK придётся делать ALTER или (drop/re-) CREATE на этот объект
для смены varchar() на что-то другое будет alter your_table alter your_column some_datatype а для добавления PK будет alter your_table add constraint your_pk_name primary key (your_columns) причём для PK предварительно нужно удостовериться в уникальности записей в your_columns

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 19:50 04-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vikkiv
дружище, помоги, делаю по твоему шаблону
 
/****** Скрипт для команды SelectTopNRows из среды SSMS  ******/
SELECT  [Id]
      ,[Категория#ТС]
      ,[Тип#ТС]
      ,[make]
      ,[model]
      ,[year]
 
  FROM [ExcelAnalysis].[dbo].[new]
  alter [dbo].[new] add constraint PK primary key Id
ошибка
Сообщение 102, уровень 15, состояние 1, строка 1
Неправильный синтаксис около конструкции "dbo".
 
как правильно?

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 13:47 06-06-2017
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
  FROM [ExcelAnalysis].[dbo].[new]  
  alter [dbo].[new] add constraint PK primary key Id  

команды разные это, точка с запятой между ними нужна

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 14:59 06-06-2017 | Исправлено: landy, 15:48 06-06-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
верно выше говорят, DDL отдельной командой лучше выполнять, попробуй выполни только это:
Код:
use [ExcelAnalysis];
go
alter table [dbo].[new] add constraint [PK_id_xxx] primary key ([Id])

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 15:46 06-06-2017 | Исправлено: vikkiv, 15:49 06-06-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
Правильно нажимать кнопку New Query и вносить скрипт.
Ну вот как можно нажать Select, а потом туда что-то дописывать? В голове не укладывается...

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 20:48 06-06-2017
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
эти поля специально предназначены для того, чтобы туда что-то дописывать

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 10:45 07-06-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
landy
Не понял, это про что? Выбор в меню Select... (что и было сделано, судя по тексту), формирует просто запрос select.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 11:43 07-06-2017
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
..но в это поле можно и нужно дописать свои изменения, что и было сделано

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 10:51 08-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все понял в чем проблема, она в том, что мое поле ID NULL
поэтому и ошибка
Id(nchar(10),null)
евозможно определить в таблице "" ограничение PRIMARY KEY для столбца, который может содержать значения NULL.'
 
Добавлено:
Друзья, помогите, как мне сделать Id,Не NULL запросом?

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 12:28 09-06-2017 | Исправлено: Fsp050, 12:28 09-06-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alter new alter id nchar(10) not null

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 12:33 09-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такой метод не прокатывает
вот почему

 
 
Добавлено:
Alexzzy
Щас Ваш попробую, просто не заметил что Вы написали
 
Добавлено:
use [ExcelAnalysis];  
go  
 alter TABLE [dbo].[new] alter COLUMN  Id nchar(10) not null
 
ошибка
Сообщение 515, уровень 16, состояние 2, строка 1 Не удалось вставить значение NULL в столбец "Id", таблицы "ExcelAnalysis.dbo.new"; в столбце запрещены значения NULL. Ошибка в UPDATE. Выполнение данной инструкции было прервано.
 
но сейчас он там разрешен

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 12:36 09-06-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
Значит в поле id есть null-значения, которые не дают сделать not null.
select * from new where id is null

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 13:49 09-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
да такие есть и как мне быть? Как сделать id праймери кей?

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 14:40 09-06-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru