thinkphp3.2 子查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp3.2 子查询相关的知识,希望对你有一定的参考价值。

具体是什么写呢?如果不用join的话,如何两个表查询(使用子查询的方式)?

直接上代码

[php] view plain copy
$product_info = M(\'product_info as info\');
[php] view plain copy
$productinfo = $product_info->join(\'left join c_price_comment as comment on info.sku=comment.sku\')->where($where)->order(\'info.create_time desc\')->field(\'info.*,comment.comment_count\')->buildSql();

$list = M()->table($productinfo.\' a\')->order(\' \'.$order.\'\')->group(\'sku \')->limit($limit)->select();

buildSql方法后不会进行实际的查询操作,而只是生成该次查询的SQL语句追问

额额……用join我也会,但是可以不用join去写么?

参考技术A $sql = "select xxx from table1 where field in( select field from table2)";

建议你直接让它执行原生的sql

thinkphp 数据库查询查询我想查询一个值到某一个值之间的数据该怎么查?

thinkPHP数据查询!不如我要以$data['dengji']这个字段查询,查询dengji在100到110之间的数据,我该怎么写这个查询条件啊?

参考技术A $map['dengji'] = array('BETWEEN', '0, 200');
D('Model')->where($map)->select();
参考技术B D("Model")->where("dengji >0 and dengji <200")->select();追问

那如何“dengji”>o,的这个0的值是我随机获取来的变量的话要怎么写啊?比如是“dengji”>$ss and “dengji”<$sss 是这样写吗?写了后提示错误!

追答

D("Model")->where("dengji >{$ss} and dengji select(); //首先得看是提示什么错误,如果是引号错误的话,自己改就行。当然也有可能里面的值也有错误比如$sss小于$ss

本回答被提问者采纳

以上是关于thinkphp3.2 子查询的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp3.2 where 条件查询

掌握Thinkphp3.2.0----SQL查询

thinkphp3.2使用join联合查询

ThinkPHP3.2.3中,查询语句中in的使用方法。

ThinkPHP3.2基础教程(21)--模型-CURD操作-数据读取

thinkphp3.2.3 查询时使用where+select查询出来的比find查询多一个空数组