2016-10-14 5 views
0

У меня есть Sybase SQL, который имеет следующий оператор. * = Мне нужно преобразовать sql для работы с MySQL. Но этот оператор дает мне ошибку. Каков альтернативный способ использования в MySQL. Это часть sql. У меня проблема.Альтернатива * = оператору в MySQL

(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

*=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 
0

Короткий ответ: Да. =* и *= не являются претензией к текущим стандартам SQL.

MySQL не поддерживает оператора *=, вместо этого вы должны использовать LEFT JOIN. Ваш запрос легко переносится, поскольку в нем нет предложения where, в котором происходит различие с нормальным JOIN.

 Смежные вопросы

  • Нет связанных вопросов^_^