替代MySQL中的* =运算符

时间:2016-10-14 07:03:18

标签: mysql sql sybase

我有一个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,还是有其他解决方案?

2 个答案:

答案 0 :(得分:0)

*=LEFT JOIN=*RIGHT JOIN

在sysbase中

可以像这样查询

select * from a, b where a.id *= b.id

在MySQL中你可以写这个

select * from a left outer join b on a.id = b.id 

答案 1 :(得分:0)

简短回答:myGuid=*不符合当前的SQL标准。

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