我試圖從位於同一臺服務器上的兩個數據庫中進行查詢。第一個數據庫查詢與JOIN和UNION子句有點複雜,但加入其他數據庫非常簡單。我在最後一行代碼上一直收到錯誤 - SITE_ID_NUMBER
。在同一臺服務器上連接多個數據庫SQL Server
我從來沒有嘗試過這一點 - 任何線索,我可能做錯了什麼?附加說明 - 數據庫的JOIN子句由一個本地列組成 - 即「6041」和一個計算結果 - 我必須使用SUBSTRING
並添加6以獲得匹配值。
更新 - 一些變化之後,我居然遇到了錯誤:
Msg 8156, Level 16, State 1, Line 32
The column 'RECORD_DATE_TIME' was specified multiple times for 'P'.
謝謝。
SELECT P.[6] + SUBSTRING(A.SHIP_TO,6,3) AS 'STORE' ,
S.SITE_ID_NUMBER,
S.DM,
S.AREA,
S.STORE_NAME,
S.LOCATION,
P.WHSE AS 'DIVISION_DESC',
P.ORDER_STATUS,
P.MATERIAL,
P.DESCRIPTION,
P.PO_NUMBER AS 'CUSTOMER_PO_NUMBER',
P.ORDER_QUANTITY AS'QTY',
P.RSHIP_DATE AS 'REQUESTED_SHIP_DATE',
S.TRANSIT_6040_6041
FROM
(SELECT *
FROM PDX_SAP_USER.dbo.VW_ADIDAS_RETAIL_aRI A
JOIN PDX_SAP_USER.dbo.VW_WB_DELIVERIES D
ON A.DELIVERY_NUMBER = D.DELIVERY_NUMBER
UNION ALL
SELECT *
FROM PDX_SAP_USER.dbo.VW_ADIDAS_RETAIL_aRO A
JOIN PDX_SAP_USER.dbo.VW_WB_DELIVERIES D
ON A.DELIVERY_NUMBER = D.DELIVERY_NUMBER) P
JOIN [ADI_USER.MAINTAINED].dbo.SiteDataAdiRbk S
ON S.SITE_ID_NUMBER = P.STORE;
你實際上有一個名爲「6」的列? – Aheho 2014-10-05 00:38:00
_Never_使用'SELECT *',因爲它會導致這些令人困惑的錯誤。總是專門列出列,尤其是使用'UNION'時。如果你專門列出你的專欄,你可能會發現你的問題。該問題可能在您上次查詢中。我建議你通過運行查詢的一些部分來做一些更詳細的故障排除,然後發回更具體的東西。 – 2014-10-05 01:33:07