Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 August 18

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Сергей Куреннов
всем привет...
select sum (count(distinct idchain)) from [oktell].[dbo].[Info_Tasks_Grafana] with(nolock)
where cast(datetimestart as date) >= cast(getdate() as date)
and datetimestop is null and IdTask in ('63C1876A-2FC0-4A62-8B16-B0515D20A5D1','E526E49F-DAE0-4D61-A596-0D79A6FC10A2')

ругается Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
куда копать? )
Ну агрегирующие функции не могут быть вложенными, да, это и смысла не имеет
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
Здравствуйте.
Сразу извинюсь за вопрос, так как я не из вашей сфере, но прошу помочь правильно составить SQL запрос, а то простенькие могу сам, а в текущей задчи не могу ума дать.

Есть такая табличка:
rec    |    nick    |    st    |    dt  
1              anton     yes       2020-08-18 23:00:00
2              anton     yes       2020-08-18 23:05:00
3              anton     no        2020-08-18 23:15:00
4              anton     yes       2020-08-18 21:00:00
5              alex         no        2020-08-18 22:30:00
6              gera        yes       2020-08-18 23:55:00

Надо получить таблицу следующего вида:
   nick    |    st count|    dt  
   gera             1               2020-08-17 23:55:00
 anton            3               2020-08-18 23:15:00
   alex              0               2020-08-18 22:30:00


Т.е. мы получаем список всех имен без дублей, подсчитываем кол-во "YES" у каждого из них, и сортируем по дате от самого свежего до самого старого. Причем у anton'а несколько дат и его самая свежая дата стоит напротив "no", она и должна быть в новой таблице.
Как такое реализовать красивым, адекватным запросом на sql?
источник
2020 August 19

А

Андрій in SqlCom.ru - Стиль жизни SQL
Shaman
Здравствуйте.
Сразу извинюсь за вопрос, так как я не из вашей сфере, но прошу помочь правильно составить SQL запрос, а то простенькие могу сам, а в текущей задчи не могу ума дать.

Есть такая табличка:
rec    |    nick    |    st    |    dt  
1              anton     yes       2020-08-18 23:00:00
2              anton     yes       2020-08-18 23:05:00
3              anton     no        2020-08-18 23:15:00
4              anton     yes       2020-08-18 21:00:00
5              alex         no        2020-08-18 22:30:00
6              gera        yes       2020-08-18 23:55:00

Надо получить таблицу следующего вида:
   nick    |    st count|    dt  
   gera             1               2020-08-17 23:55:00
 anton            3               2020-08-18 23:15:00
   alex              0               2020-08-18 22:30:00


Т.е. мы получаем список всех имен без дублей, подсчитываем кол-во "YES" у каждого из них, и сортируем по дате от самого свежего до самого старого. Причем у anton'а несколько дат и его самая свежая дата стоит напротив "no", она и должна быть в новой таблице.
Как такое реализовать красивым, адекватным запросом на sql?
Легко
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Shaman
Здравствуйте.
Сразу извинюсь за вопрос, так как я не из вашей сфере, но прошу помочь правильно составить SQL запрос, а то простенькие могу сам, а в текущей задчи не могу ума дать.

Есть такая табличка:
rec    |    nick    |    st    |    dt  
1              anton     yes       2020-08-18 23:00:00
2              anton     yes       2020-08-18 23:05:00
3              anton     no        2020-08-18 23:15:00
4              anton     yes       2020-08-18 21:00:00
5              alex         no        2020-08-18 22:30:00
6              gera        yes       2020-08-18 23:55:00

Надо получить таблицу следующего вида:
   nick    |    st count|    dt  
   gera             1               2020-08-17 23:55:00
 anton            3               2020-08-18 23:15:00
   alex              0               2020-08-18 22:30:00


Т.е. мы получаем список всех имен без дублей, подсчитываем кол-во "YES" у каждого из них, и сортируем по дате от самого свежего до самого старого. Причем у anton'а несколько дат и его самая свежая дата стоит напротив "no", она и должна быть в новой таблице.
Как такое реализовать красивым, адекватным запросом на sql?
Вот так например
Select 
Nick,
Count(case when st='true' then st end), max(dt) mdt
From t
Group by nick
Order by mdt
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
сек. пошел сразу пробовать
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
Всё пашет как надо! Огромное вам спасибо за помощь!
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
👌🏼
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
👍🏼
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
источник

S

Shaman in SqlCom.ru - Стиль жизни SQL
Ещё раз большое спасибо! Всё что нужно прям одним запросом получаю. Спасибо, спасибо, спасибо!
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Shaman
Ещё раз большое спасибо! Всё что нужно прям одним запросом получаю. Спасибо, спасибо, спасибо!
источник

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
И Дима такой - "Уважайте коллег, объединяйте сообщения. Читайте правила.")
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Какой-то Хмырь
И Дима такой - "Уважайте коллег, объединяйте сообщения. Читайте правила.")
А как можно объединять?

Это либо копи паст, либо сразу писать надо в одном
источник

В

Валерий in SqlCom.ru - Стиль жизни SQL
Всем привет! MDS 2019.  При попытке опубликовать правила(publish all), ловлю ошибку: 229 : A database error has occurred. Contact your system administrator.
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Валерий
Всем привет! MDS 2019.  При попытке опубликовать правила(publish all), ловлю ошибку: 229 : A database error has occurred. Contact your system administrator.
привет, Валерий. информации явно не достаточно чтобы вам помочь, предоставьте больше деталей пожалуйста, что такое MDS? где и как и самое главное что вы пытаетесь опубликовать? полный текст ошибки
источник

В

Валерий in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
привет, Валерий. информации явно не достаточно чтобы вам помочь, предоставьте больше деталей пожалуйста, что такое MDS? где и как и самое главное что вы пытаетесь опубликовать? полный текст ошибки
SQL Server 2019 Master Data Services. Пытаюсь опубликовать бизнес правила
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Валерий
SQL Server 2019 Master Data Services. Пытаюсь опубликовать бизнес правила
полный текст ошибки привидите, это общее описание то что вы выше прислали
источник

M

Maxim in SqlCom.ru - Стиль жизни SQL
У кого нибудь кстати плагин для екселя MDS 2019 работает стабильно? Постоянно зависает все и временами панель основные данные пропадает
источник

M

Maxim in SqlCom.ru - Стиль жизни SQL
Пока чет только через веб интерфейс получается работать
источник

В

Валерий in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
полный текст ошибки привидите, это общее описание то что вы выше прислали
В полном тексте: Microsoft.MasterDataServices.Core.BusinessLogic.BusinessRulesPublish.Generation.RunGeneration(BusinessRules businessLogicLayer, Identifier entityIdentifier, BREntityMemberType memberType, OperationResult result)
SQL Error Debug Info: Number: 229, Message: The SELECT permission was denied on the object 'procedures', database 'mssqlsystemresource', schema 'sys'., Server: Servername, Proc: , Line: 1
источник