У меня было представление, которое работало, я редактировал его в SQL Server Mgmt Studio, он не работал, я извлекал изменения и сохранял его, он все еще не работает, несмотря на возвращение его в исходное состояние.
Я получаю ошибку
Объединенные таблицы не могут быть указаны в запросе, содержащем внешнее объединение
операторы. Представление или функция 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%' )
Я не уверен, где это может произойти сбой или как это исправить!
Любая помощь будет принята с благодарностью.