Я очень ценю вашу помощь в этом вопросе, мне очень хотелось бы, чтобы кто-нибудь сказал мне, почему ошибки Select Distinct и UNION ALL, и кажется, что «TOP» (1) также имеет некоторую проблему объединения с предложением, с которым я не знаком даже после Я провел тщательное исследование синтаксиса. Можно ли связать второй сервер с моим запросом, я просто пытаюсь посмотреть, нужен ли второму серверу другой формат после Select top (1).
Мои сообщения об ошибках:
Сообщение 156, уровень 15, состояние 1, строка 23
Неверный синтаксис рядом с ключевым словом "UNION".Сообщение 156, уровень 15, состояние 1, строка 30
Неверный синтаксис рядом с ключевым словом "верх".Сообщение 319, уровень 15, состояние 1, строка 30
Неверный синтаксис рядом с ключевым словом with. Если этот оператор является обычным табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой.
SQL-запрос:
SELECT DISTINCT
'SERVER1' AS 'Server'
FROM (
Select top (1) with ties in.Name, in.Vendor, count(*) Count_InvoiceNo
FROM Data.dbo.Invoices AS in
where in.InvDate >= DATEADD(MONTH,-12, GETDATE())
group by in.Name, in.Vendor
order by rank() over(partition by in.Name order by count(*) DESC)) sq
UNION ALL
SELECT DISTINCT
'SERVER2' AS 'Server'
FROM (
Select top (1) with ties in.Name, in.Vendor, count(*) Count_InvoiceNo
FROM Data.dbo.Invoices AS in
where in.InvDate >= DATEADD(MONTH,-12, GETDATE())
group by in.Name, in.Vendor
order by rank() over(partition by in.Name order by count(*) DESC)) sq
ORDER BY
передUNION
, он должен стоять в самом конце. Вам нужно будет использовать подзапросы. - person Larnu   schedule 25.11.2020