Мне нужно внутреннее соединение данных из разных баз данных.Три, если быть точным.
Я пытался сделать оператор Select из разных баз данных, но по какой-то причине не могу заставить работать внутреннее соединение.
Должен ли я присоединиться к одному за раз вместо того, чтобы делать все 3 сразу?Сложной задачей было присвоить таблицу результатов из первого запроса переменной, чтобы я мог внутренне объединить ее с последующими таблицами.
Текущий код, который у меня есть
(DECLARE @SDate date = '01/01/2018'
DECLARE @EDate date = '12/31/2018'
DECLARE @Sku TABLE
(
Sku varchar(20)
);
INSERT @Sku (Sku)
VALUES
(N'SN2150'),
(N'SN2151');
SELECT
l.No_
,SUM(l.Amount) AS Amount
,SUM(l.Quantity) AS Quantity
FROM
dbo.[Threshold Enterprises$Sales Invoice Line] AS l
JOIN
@Sku AS s
ON s.Sku = l.No_
WHERE
l.[Shipment Date] BETWEEN @SDate AND @EDate
GROUP BY
l.No_)
AS a
Select [Item.No_] and [Suggested Retail Price] and [Starting Date] FROM [NAV-
WH].dbo.v_NAV_PurchasePriceCurrent b
Select [No_] and [Size] and [Size.Type] FROM [NAV-WH].[dbo].[Threshold
Enterprises$Item] c
Inner Join a b c where a.[@SKU]=b.[Item.No_]=c.[No_]
Получить следующееСообщение об ошибке
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'DECLARE'.
Msg 102, Level 15, State 1, Line 26
Incorrect syntax near ')'.
Ожидайте результатов, чтобы получить SKU, продажи, проданные единицы, розничную цену, начальные данные, размер и тип размера.
Пробовал предыдущий код, но он далто же сообщение об ошибке
Msg 207, Level 16, State 1, Line 25
Invalid column name 'Item.No_'.
Код, который я пытался использовать вместо того, чтобы все изложить, было:
DECLARE @SDate date = '01/01/2018'
DECLARE @EDate date = '12/31/2018'
DECLARE @Sku TABLE
(
Sku varchar(20)
);
INSERT @Sku (Sku)
VALUES
(N'SN2150'),
(N'SN2151');
SELECT
l.No_ as SKU
,SUM(l.Amount) AS Amount
,SUM(l.Quantity) AS Quantity
,[NAV-WH].[dbo].[v_NAV_PurchasePriceCurrent].[Suggested Retail Price]
,[NAV-WH].[dbo].[v_NAV_PurchasePriceCurrent].[Starting Date]
,[NAV-WH].[dbo].[ThresholdEnterprises$Item].Size
,[NAV-WH].[dbo].[ThresholdEnterprises$Item].[Size.Type]
FROM
dbo.[Threshold Enterprises$Sales Invoice Line] AS l
JOIN @Sku AS s ON s.Sku = l.No_
JOIN [NAV-WH].[dbo].[v_NAV_PurchasePriceCurrent] on [NAV-WH].[dbo].
[v_NAV_PurchasePriceCurrent].[Item.No_] = l.No_
JOIN [NAV-WH].[dbo].[ThresholdEnterprises$Item] on [NAV-WH].[dbo].
[ThresholdEnterprises$Item].[No_] = l.No_
WHERE
l.[Shipment Date] BETWEEN @SDate AND @EDate
GROUP BY
l.No_