笨SQL

2011-05-15 52 views
0

有人可以幫我轉換這個MySQL查詢其轉換爲CodeIgniter的SQL方法笨SQL

$sql = "SELECT MAX(SUBSTRING(locationID , 3, 11)) 
FROM items WHERE LEFT(locationID , 2) = = ? " 

有值,如位置的ID,如AK23,LI343,JE343等。它返回的最大整數匹配前綴(JE,LI - 在where子句中給出2個字符前綴)

如果您可以請幫助我,因爲在模型中執行sql的正常方式不起作用,這將是非常棒的..

非常感謝

+0

正常的方式是什麼? – 2011-05-15 08:21:51

+0

@Trickster如果我把它分配給一個字符串變量並且在非codeigniter環境下運行sql,它可以正常工作..但由於某種原因,當我嘗試在CodeIgniter中執行它時,它會返回NULL值....我的意思是通過正常的方式是我在PHPMyAdmin運行的sql語句 – pks 2011-05-15 08:25:29

回答

1

DB->查詢( 'SELECT MAX(SUBSTRING(locationID,3,11)) FROM項WHERE LEFT(locationID,2)=?',陣列(參數)

DB->選擇('MAX (SUBSTRING(locationID,3,11)) ') - >從(' 項目 ') - >在哪裏(' 左(locationID,2)」,ARG) - > get()方法

希望幫助

+0

感謝您的回覆..我試過這個 $ query = $ this-> db-> select('MAX(CAST(SUBSTRING(locationID,3,11 )AS'UNSIGNED))') - > from('items') - > where('LEFT(locationID,2)',$ locationPrefix) - > get(); var_dump($ query); 它給出了數據庫錯誤..我在那裏做錯了什麼? – pks 2011-05-15 08:52:38

+0

什麼錯誤?你能在這裏更具體嗎? – 2011-05-20 15:10:22