我有一个具有以下运算符的Sybase SQL。 * =
我需要将sql转换为可与MySQL一起使用。但是这个运算符给我一个错误。在MySQL中使用它的另一种方法是什么。
这是我遇到问题的sql的一部分。

( dba.mstaccbalance.comp_code *= dba.trnglupdate.comp_code ) and
         ( dba.mstaccbalance.mst_type *= dba.trnglupdate.mst_type ) and
         ( dba.mstaccbalance.acc_code *= dba.trnglupdate.mst_code ) and
            ( dba.mstaccbalance.lvl_gl_code *= dba.trnglupdate.lvl_gl_code )


我是否必须使用左外部联接重写SQL,还是有其他解决方案?

最佳答案

简短的回答:是的。 =**=不受当前SQL标准的抱怨。

MySQL不支持*=运算符,而应使用LEFT JOIN。您的查询很容易迁移,因为它没有任何where子句,即与普通JOIN的区别所在。

10-05 19:29