mysql – 在Yii2 find()/ QueryBuilder中使用WHERE条件的SELECT子查询
发布时间:2020-05-27 12:38:46 所属栏目:MySql 来源:互联网
导读:我能够找到子查询构建的简单示例,但是当我需要包含WHERE条件时,我无法弄清楚或找不到解决方案.我试图模拟以下声明......SELECT ParentTable.*, (SELECT MAX(ChildTable.NumberField) FROM ChildTable
|
我能够找到子查询构建的简单示例,但是当我需要包含WHERE条件时,我无法弄清楚或找不到解决方案.我试图模拟以下声明……
猜猜我需要像……
但它给了我一个错误:找不到列:1054’where子句’中的未知列’parentTable.id’ 编辑:
最佳答案
从SQL角度来看,示例查询在select子句中使用“相关子查询”,这通常是一种形成查询的非常低效的方法.
虽然乍一看似乎更复杂,因此效率更低,但通常更好的性能是避免在select子句中使用“相关子查询”并使用“派生表”替换,如下所示:
注意,带有select子句的相关子查询可能返回NULL,因此,如果用派生表替换它们,则等效连接类型是LEFT OUTER JOIN(或简称为LEFT JOIN),因为这也允许NULL结果.但是,如果列不需要NULL,则使用更高效的INNER JOIN. 因不了解Yii2语法而提前道歉,但知道有效的替代方法可能有助于解决问题. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MYSQL教程MySQL大内存配置方案 如my-medium.ini、my-huge.i
- Mysql实例Windows下mysql修改root密码的4种方法
- mysql-时间戳为int字段,查询性能
- MySQL“错误的索引名称…”错误(唯一外键)
- php – 将textarea中的文本插入MySQL数据库而不会丢失格式
- 为含有分区及子分区的模型添加分区。
- 使用MySQL的LAST_INSERT_ID--转
- Mysql应用Centos7下使用yum安装mysql数据库的详细教程(增强
- oracle建表备份脚本,如果update的数据不对,可以从WEB_RI_
- Mysql应用Java连接mysql数据库并进行内容查询的方法
