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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050

Цитата:
сейчас то что не так

значения NULL в столбце "Id"

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050, тебе нужно найти все null-значения в этой таблице:
 
select * from "ExcelAnalysis.dbo.trn" where id is null
 
и заменить их на валидные цифры.

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

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

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



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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
landy
Commit нужен только когда есть begin transaction, а так - всегда неявная транзакция.

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а вдруг он предварительно сказал SET IMPLICIT_TRANSACTIONS OFF ?

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

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

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

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

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, подскажите, опять не получается
не могу соединить со временной таблицей
 
SELECT  
       id
      ,год
      ,[Колесная#формула]
      ,[Тип#кабины]
      ,[Дата#объявления]
      ,[Дата#парсинга]
      ,цена
      ,[URL]
      ,[model1]
      ,[Марка(эталон)]
      ,[Серия]
      ,[Мощность(эталон)]
      ,[Количество#мест]
      into #qwe
  FROM [ExcelAnalysis].[dbo].[ClearDB]
  where [Марка(эталон)]='камаз'and серия='65116' and год='2011'
 
  select* from  #qwe
 
  inner join [ExcelAnalysis].[dbo].[historical] ccw on ccw.id=#qwe.id
 
ошибка
Сообщение 156, уровень 15, состояние 1, строка 1
Неправильный синтаксис около ключевого слова "inner".
 
а какой правильный?

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

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

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

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

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 23:56 25-06-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я по старинке соединил, без временной таблицы)
Друзья, может подскажете, как правильно сделать такую выборку
select
марка
модель
год
пробег
город
тип тс
категория тс
цена
from mytable
where количество больше или равно пяти наблюдений, для всех сразу
например
 
камаз-65116-2011-100км-Москва-мусоров-грузовик, вот для такой страты(категории) должно быть не менее 5 наблюдений по цене.
Сиквел должен на выходе вернуть наблюдения только с теми стратами, где больше 5 наблюдений
1
2
3
4
5
 
потом я уже эти страты  выгружу в csv и буду сравнивать))
Как так правильно сделать?

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
Вот такие два запроса надо объединить по группировочным полям:
select ... from mytable
select группировочные поля from mytable group by группировочные поля having count(*) >= 5

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят такой вопрос связанный с оператор like
select *
from my table
where group like ('%qwerty%')
А как наоборот сделать, чтобы не выводить строки, где есть слово qwerty
 
т.е. like not qwerty

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 11:50 14-07-2017
regkz



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

Цитата:
А как наоборот сделать, чтобы не выводить строки, где есть слово qwerty

разве не not like?

Всего записей: 1131 | Зарегистр. 16-01-2007 | Отправлено: 13:07 14-07-2017
Fsp050

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

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 14:08 14-07-2017
kapiton1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Мозг сломал уже. Нужно сделать запрос к базе. Делаю так:
 
select doroga as [Регион],IVC_dorogi as [Управление],rzd_site.domain as [Имя домена],mac.chk as [MAC:0]
from  
(SELECT     SYS.Resource_Domain_OR_Workgr0 AS domain, COUNT(DISTINCT SYS.ResourceID) AS chk
FROM         v_R_System AS SYS LEFT OUTER JOIN
                      v_RA_System_MACAddresses AS MAC ON SYS.ResourceID = MAC.ResourceID
WHERE     (SYS.Client0 = 1) AND (SYS.Resource_Domain_OR_Workgr0 IN ('GVC', 'MAIN', 'SVRW', 'ZRW', 'KBSH', 'ORW', 'KLGD', 'SKZD', 'GRW', 'KRW', 'WSR', 'SURW', 'NRR',  
                      'ESRR', 'MSK', 'PVRR', 'SERWRZD', 'DVGD')) AND (MAC.MAC_Addresses0 LIKE '%0')
GROUP BY SYS.Resource_Domain_OR_Workgr0
) as mac
left join dbo.v_tmp_RZD_info rzd_site ON rzd_site.domain=mac.domain
ORDER BY doroga
 
Нужно, что бы вот по этому полю : "MAC.MAC_Addresses0 LIKE '%0" можно было составить таблицу, %1, %2 ну и т.д. (последний символ мак-адреса).
Пробовал CASE WHEN, Select OR, не помогает, туплю наверное. Давно на SQL не писал.  

Всего записей: 138 | Зарегистр. 20-07-2005 | Отправлено: 19:58 31-07-2017
DenSyo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kapiton1
не знаю на сколько вас правильно понял...
 
select doroga as [Регион],IVC_dorogi as [Управление],rzd_site.domain as [Имя домена],mac.chk as [MAC:0]  
from  
(SELECT     SYS.Resource_Domain_OR_Workgr0 AS domain, COUNT(DISTINCT SYS.ResourceID) AS chk,
                IIF(MAC.MAC_Addresses0 LIKE '%0', MAC.MAC_Addresses0, Null) AS Mac0,
                IIF(MAC.MAC_Addresses0 LIKE '%1', MAC.MAC_Addresses0, Null) AS Mac1,
                IIF(MAC.MAC_Addresses0 LIKE '%2', MAC.MAC_Addresses0, Null) AS Mac2
FROM         v_R_System AS SYS LEFT OUTER JOIN  
                      v_RA_System_MACAddresses AS MAC ON SYS.ResourceID = MAC.ResourceID  
WHERE     (SYS.Client0 = 1) AND (SYS.Resource_Domain_OR_Workgr0 IN ('GVC', 'MAIN', 'SVRW', 'ZRW', 'KBSH', 'ORW', 'KLGD', 'SKZD', 'GRW', 'KRW', 'WSR', 'SURW', 'NRR',  
                      'ESRR', 'MSK', 'PVRR', 'SERWRZD', 'DVGD'))  
GROUP BY SYS.Resource_Domain_OR_Workgr0  
) as mac  
left join dbo.v_tmp_RZD_info rzd_site ON rzd_site.domain=mac.domain  
ORDER BY doroga

Всего записей: 218 | Зарегистр. 19-01-2008 | Отправлено: 09:28 01-08-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SELECT substring(MAC.MAC_Addresses0, 12, 1) AS fld1, SYS.Resource_Domain_OR_Workgr0 AS domain, COUNT(DISTINCT SYS.ResourceID) AS chk
  FROM ...
  WHERE ...
  GROUP BY substring(MAC.MAC_Addresses0, 12, 1), SYS.Resource_Domain_OR_Workgr0
 
или под "составить таблицу по полю" подразумевается что-то другое?
Если нужна сводная таблица - используйте оператор CUBE: https://technet.microsoft.com/ru-ru/library/ms175939(v=sql.90).aspx
Если иерархическая структура - оператор ROLLUP: https://technet.microsoft.com/ru-ru/library/ms189305(v=sql.90).aspx

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 09:38 01-08-2017 | Исправлено: Dronton2, 09:55 01-08-2017
kapiton1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток. Наверное не правильно вопрос поставил. В результате должно получиться вот такая таблица:
 
Регион   Управление   Имя домена   MAC:0  MAC:1  MAC:2 ...  MAC:F
 
В столбцах под MAC должно быть количество компьютеров, у которых МАС - адрес заканчивается на этот знак.  
 
 

Всего записей: 138 | Зарегистр. 20-07-2005 | Отправлено: 12:55 01-08-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