thinkphp 中一个语法问题 select * from A where roomid in(select roomid from B where accontid=1000)
select*fromAwhereroomidin(selectroomidfromBwhereaccontid=1000)这样的sql语句怎麼写成thinkphp中的查...
select * from A where roomid in(select roomid from B where accontid=1000) 这样的sql语句怎麼写成thinkphp中的查询语句呢 thinkphp版本是3.1 我在Mysql使用没有问题,在tp怎麼也不对 打印出来的更是不对,麻烦各位高手帮帮忙
展开
展开全部
从3.0版本开始新增了子查询支持,有两种使用方式:
使用select方法 当select方法的参数为false的时候,表示不进行查询只是返回构建SQL
$subQuery = $model->field('roomid')->table('tablename')->where(array('accontid' => 1000))->select(false);
使用buildSql方法
$subQuery = $model->field('roomid')->table('tablename')->where(array('accontid' => 1000))->buildSql();
利用子查询进行查询
$model->table($subQuery.' a')->where()->order()->select()
追问
提示表不存在呀 明明存在表名的,1和2是构建第一个查询,第三一个怎麼把第二个查询的结果带到条件裏面查询呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询