Vue SQL Server ne fonctionne pas après modification dans Management Studio

J'ai eu une vue qui a fonctionné, je l'ai édité dans SQL Server Mgmt Studio, cela n'a pas fonctionné, j'ai enlevé les changements et l'ai sauvé, il ne fonctionne toujours pas malgré le return à son état d'origine.

Je reçois l'erreur

Les tables jointes ne peuvent pas être spécifiées dans une requête contenant des opérateurs de jointure externes. La vue ou la fonction 'adept_invoiced' contient des tables jointes.

J'ai recherché et trouvé un problème de syntaxe de jointure possible dû à la vue écrite en 2001 et moi essayant de l'éditer (pour la première fois) dans le studio de gestion.

La vue a fonctionné parfaitement pendant des années jusqu'à ce que je l'édite ce matin.

C'est la section From / Where ….

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%' ) 

Je ne suis pas sûr où il pourrait échouer, ou comment le réparer!

Toute aide serait grandement appréciée.

Essaye ça:

 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 ON dbo.SL_TRANSACTIONS.ST_HEADER_KEY = dbo.SL_PL_NL_DETAIL.DET_HEADER_KEY 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_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%' ) 

Utilisez-vous l'ancienne syntaxe de jointure de style, alors searchz *= et =* dans la définition de votre vue