Как мне объединить таблицы в порядке всех - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь «Объединить» 5 таблиц и «упорядочить по» [Дата / время].Это хорошо работает, но проблема в том, что в результате получается более 225000 строк.это не будет вписываться в Excel.

Я пытался ограничить количество строк. "Select top #", который ограничивает размер, но top является первым в данных, в котором мне нужны последние или самые последние данные

SELECT top 1000 [Timestmp]
 ,[Audience]
 ,[Severity]
,[Verbosity]
,[UserFullName]
FROM [PD_SQL_DB].[dbo].[Client1_DiagList]
wHERE [aUDIENCE]='8' AND [SEVERITY] = '4'AND [VERBOSITY] = '0'
Union
SELECT top 1000 [TimeStmp]
,[MessageText]
,[Audience]
,[Severity]
,[Verbosity]
,[UserFullName]
FROM [PD_S`enter code here`QL_DB].[dbo].[Client2_DiagList]
WHERE [AUDIENCE]='8' AND [SEVERITY] = '4'AND [VERBOSITY] = '0'
 Order by [TimeStmp] desc

С Query он дает мне только 1000 самых старых строк.Как еще можно ограничить количество или ряды и порядок по desc.

1 Ответ

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

Вы можете вкладывать UNION внутрь другого SELECT и делать TOP / ORDER BY там:

SELECT TOP 1000 * 
FROM (
    SELECT [Timestmp]
      ,[Audience]
      ,[Severity]
      ,[Verbosity]
      ,[UserFullName]
    FROM [PD_SQL_DB].[dbo].[Client1_DiagList]
    WHERE [aUDIENCE]='8' AND [SEVERITY] = '4'AND [VERBOSITY] = '0'

    Union

    SELECT [TimeStmp]
      ,[MessageText]
      ,[Audience]
      ,[Severity]
      ,[Verbosity]
      ,[UserFullName]
    FROM [PD_S`enter code here`QL_DB].[dbo].[Client2_DiagList]
    WHERE [AUDIENCE]='8' AND [SEVERITY] = '4'AND [VERBOSITY] = '0'
) t
ORDER BY [TimeStmp] DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...