Я пытаюсь создать таблицу своих заказов клиентов.К сожалению, разные части заказа находятся на разных серверах.При присоединении к первым двум серверам запрос занимает 1-5 минут, а при присоединении к последнему серверу - несколько часов.
Что я хочу сделать, так это создать запрос, который занимает много времени, но выполняется один раз и объединяет все данные с трех серверов на один сервер и одну таблицу.Затем каждый раз, когда обновляется конкретная таблица, моя таблица также обновляется (только сверху).
Вот мой запрос
SELECT
--*,
I.Date_Created
,I.Company_Code
,I.Division_Code
,I.Invoice_Number
,I.Customer_Purchase_Order_Number
,I.Total_Quantity
,Month( I.Date_Created) Month
,Year( I.Date_Created) Year
,CASE WHEN sh.packslip IS NULL THEN ph.SHIP_CITY ELSE sh.SHIP_CITY END City
,CASE WHEN sh.packslip is null
THEN CASE WHEN ph.SHIP_CNTRY <> 'US' THEN 'INT' ELSE ph.SHIP_PROV END
ELSE CASE WHEN sh.SHIP_CNTRY <> 'US' THEN 'INT' ELSE sh.SHIP_PROV END
END State
,CASE WHEN sh.packslip is null THEN ph.SHIP_ZIP ELSE sh.SHIP_ZIP END Zip
,CASE WHEN sh.packslip is null THEN ph.SHIP_CNTRY ELSE sh.SHIP_CNTRY END CountryCode
,O.TotalPrice Total
,O.Email CustomerEmail
FROM [JMNYC-AMTDB].[AMTPLUS].[dbo].Invoices I --Table one in server one
LEFT JOIN -- Table two and three in server two
[JMDNJ-ACCELSQL].[A1WAREHOUSE].[dbo].pickhead ph (nolock) ON I.PickTicket_Number = ph.packslip
LEFT JOIN
[JMDNJ-ACCELSQL].[A1WAREHOUSE].[dbo].SHIPHIST sh (nolock) ON I.Customer_Purchase_Order_Number = sh.cust_po
LEFT JOIN -- Table four in server three, joining this one make the query go from one minute to an hour+
[SHOPIFY].[shopify_moret].[dbo].orderwrappers O ON sh.cust_po = o.OrderName
Where I.CUSTOMER_NUMBER = 'ECOM2X' AND CONVERT(Date, I.Date_Created) >= Convert(datetime, '05/29/2019')
Поэтому я хочу, чтобы этот запрос запустился один раз и создал таблицу.Затем каждый раз, когда таблица счетов обновляется, я хочу, чтобы моя встроенная таблица также обновлялась, и затем проверяю таблицу orderwrappers, чтобы добавить ее по электронной почте и totalprice.
Затем я могу использовать свою окончательно обновляемую таблицу для всех будущих запросов.
Кто-нибудь знает, как я могу это сделать?