笨SQL

2011-05-15 53 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