Muy buenas, espero que alguien me pueda ayudar con este problema, tengo una select que hasta ahora ha funcionado perfectamente con SQL 2003, pero que ha dejado de funcionar cuando hemos migrado la base de datos a 2005, exactamente, me ha dejado de funcionar una parte de la where que tengo puesta.
En dicha select, tengo unas cinco tablas, donde por unos campos concretos tengo hechas los join, pero en luegar de hacer un Inner Join, pues hago una where con esos campos y funciona igual, salvo uno que tengo puesto de esta forma.
and VBAP.POSNR*=VBFA.POSNV
me da el siguiente error
The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.
Si modifico mi select con Inner Join, Outer join, etc, no funciona bien y de hecho no saca el mismo resultado, para ser exactos, con la primera version, es decir, con la where *=, me da la select 444 datos como resultados y si lo modifico utilizando la claupsula LEFT JOIN, me da 20 filas como resultado.
Alguien sabe porque no funciona en 2005 lo de poner * a la derecha o izquierda de un igual.
Muchas gracias a todos y un saludo.