SQL Вставить дополнительное поле в отдельный фильтр - PullRequest
0 голосов
/ 30 мая 2019

Я хотел бы вставить дополнительное поле, которое будет использоваться вместе с существующим при извлечении записей из базы данных SQL.

Текущий запрос:

SELECT CONVERT(date, [DateTime]) 'Date of Download', 
       ActionBy AS 'User Full Name', 
       COUNT(DISTINCT Identifier) 'Number of Downloads'
FROM [dbo].[AuditLog] 
WHERE ActionTaken = 'Clicked' 
    AND Type = 'Attachment Link' 
    AND CONVERT(date, [DateTime]) BETWEEN CONVERT(date,'" + scanStartDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
    AND CONVERT(date,'" + scanEndDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
GROUP BY CONVERT(date, [DateTime]), ActionBy 
HAVING COUNT(DISTINCT Identifier) > " + limit + " 
ORDER BY COUNT(DISTINCT Identifier) DESC";

Я хочу вставитьдополнительный фильтр Remarks с существующим Identifier в фильтре DISTINCT.

Пример : COUNT(DISTINCT Identifier + Remarks) 'Number of Downloads'

Могу ли я узнать, как я могу изменить свойтекущее заявление?

Спасибо


Пример данных:

Другие столбцы были свернуты для обеспечения максимальной видимости.

enter image description here

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

Вы можете выбрать поле, как показано ниже, приведя FileID к NVARCHAR

COUNT(DISTINCT CAST(FileID AS NVARCHAR(10)) + Title) 'Number of Downloads'
0 голосов
/ 30 мая 2019

Попробуйте:

SELECT CONVERT(date, [DateTime]) 'Date of Download', 
       ActionBy AS 'User Full Name', 
       COUNT(DISTINCT Identifier) + ' ' + COUNT(DISTINCT Remarks) 'Number of Downloads' 
FROM [dbo].[AuditLog] 
WHERE ActionTaken = 'Clicked' 
    AND Type = 'Attachment Link' 
    AND CONVERT(date, [DateTime]) BETWEEN CONVERT(date,'" + scanStartDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
    AND CONVERT(date,'" + scanEndDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
GROUP BY CONVERT(date, [DateTime]), ActionBy 
HAVING COUNT(DISTINCT Identifier) > " + limit + " 
ORDER BY COUNT(DISTINCT Identifier) DESC";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...