我有一個工作的視圖,我在SQL Server管理工作室編輯它,它沒有工作,我拿出了更改並保存下來,它仍然沒有儘管恢復到原來的狀態,仍然可以繼續工作。在Management Studio中編輯SQL Server視圖後不工作
,我發現了錯誤
連接的表不能在包含查詢外指定加入 運營商。視圖或函數'adept_invoiced'包含連接表。
我已經搜索並提出了一個可能的連接語法問題,因爲2001年編寫的視圖和我試圖在Management Studio中編輯它(第一次)。
這個視圖在我今天上午編輯之前幾年都運行完美。
這是從/凡第....
FROM dbo.SYS_COMP_ADDRESS
CROSS JOIN dbo.SL_ACCOUNTS
INNER JOIN dbo.SL_TRANSACTIONS
INNER JOIN dbo.ORD_HEADER
ON dbo.SL_TRANSACTIONS.ST_ORDER_NUMBER =
dbo.ORD_HEADER.OH_ORDER_NUMBER
INNER JOIN dbo.SL_PL_NL_DETAIL
LEFT OUTER JOIN dbo.STK_STOCK
ON dbo.SL_PL_NL_DETAIL.DET_STOCK_CODE =
dbo.STK_STOCK.STKCODE
INNER JOIN dbo.ORD_DETAIL
ON dbo.SL_PL_NL_DETAIL.DET_ORDER_LINK =
dbo.ORD_DETAIL.OD_PRIMARY
LEFT OUTER JOIN dbo.STK_STOCK3
ON dbo.SL_PL_NL_DETAIL.DET_STOCK_CODE =
dbo.STK_STOCK3.STKCODE3
LEFT OUTER JOIN dbo.STK_STOCK_2
ON dbo.SL_PL_NL_DETAIL.DET_STOCK_CODE =
dbo.STK_STOCK_2.STKCODE2
LEFT OUTER JOIN dbo.PRC_PRICE_RECS2
ON dbo.SL_PL_NL_DETAIL.DET_PRICE_CODE =
dbo.PRC_PRICE_RECS2.PRCODE2
ON dbo.SL_TRANSACTIONS.ST_HEADER_KEY =
dbo.SL_PL_NL_DETAIL.DET_HEADER_KEY
ON dbo.SL_ACCOUNTS.CUCODE = dbo.SL_TRANSACTIONS.ST_COPYCUST
INNER JOIN dbo.SL_ACCOUNTS2
ON dbo.SL_ACCOUNTS.CUCODE = dbo.SL_ACCOUNTS2.CUCODE2
WHERE (dbo.SL_TRANSACTIONS.ST_TRANTYPE IN ('INV', 'CRN'))
AND (dbo.SL_TRANSACTIONS.ST_BATCH_FLAG <> 1)
AND (dbo.SL_ACCOUNTS.CUCODE <> '1023134')
AND (dbo.SL_ACCOUNTS.CUCODE <> '1023265')
AND (dbo.SL_ACCOUNTS.CUSORT NOT LIKE '%other income%')
AND (dbo.SL_ACCOUNTS.CUSORT NOT LIKE '%supplier%')
我不知道它可能會失敗,或如何解決它!
任何幫助將不勝感激。
+1只是因爲我從來沒有聽說過這個錯誤的!在最後的'LEFT OUTER JOIN'下有3個連續的'JOIN'條件,這是故意的嗎?除非你能告訴我們語義應該是什麼,否則我們不能告訴你正確的語法。 –
你從哪裏得到這個錯誤?它聽起來不像SQL Server錯誤,所以推測它不是直接來自查詢SSMS中的視圖? –
@Damien Msg 4424'select * from sys.messages''%'''%''%'' –