我有一个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,还是有其他解决方案?
答案 0 :(得分:0)
*=
为LEFT JOIN
,=*
为RIGHT JOIN
。
可以像这样查询
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
的差异。