在Access中我有一個使用內部連接和IF語句的查詢。我是否可以在MySQL中使用它,因爲它看起來不像預期的那樣工作,不確定是否缺少某些東西或者MySQL不允許這種方法?內部加入IF聲明?
SELECT Matrix.Model, Payment.Cost
FROM Payment
INNER JOIN Matrix ON if(Left(Matrix.Model,1)='S', Left(Matrix.Model,2), Left(Matrix.Model,1) = Matrix.PreFix)
GROUP BY Matrix.Model
我似乎得到一切都返回,不以S開頭,就好像該方法是無效的,但不會導致重大錯誤。
試試這些鏈接,可能是它對你的幫助..... http://stackoverflow.com/questions/15640321/conditional-inner-join-statements-in-mysql ...... http:// stackoverflow.com/questions/5585338/mysql-inner-join-if-statement ........ http://stackoverflow.com/questions/8038322/how-to-choose-inner-join-field-with -if-case – deemi 2014-11-06 12:06:23
我認爲你只是在錯誤的地方有你的右括號。您正在基於_Left(Matrix.Model,2)_評估爲true或_Left(Matrix.Model,1)= Matrix.PreFix_評估爲true,根據_Left(Matrix.Model,1)的值進行連接。 ='S'_。將結束括號從連接條件的末尾移到等號之前。 – Kickstart 2014-11-06 12:48:06