You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求:使用MysqliDb类封装构造指定子查询SQL语句

使用MysqliDb构造嵌套查询

对应你需要转换的SQL语句,用MysqliDb的子查询功能可以这么实现:

// 获取数据库实例
$db = getDbInstance();

// 构造子查询:SELECT * FROM users WHERE eventId=34
$subQuery = $db->subQuery();
$subQuery->where('eventId', 34);
$subQuery->get('users');

// 外层查询:从子查询结果t2中筛选name或email包含alex的记录
$db->where('name', '%alex%', 'LIKE');
$db->orWhere('email', '%alex%', 'LIKE');
// 将子查询作为临时表t2执行查询
$result = $db->get($subQuery, null, 't2');

代码说明

  • 先通过subQuery()创建子查询对象,在子查询内设置eventId=34的条件并关联users表
  • 外层查询用where和orWhere设置模糊匹配规则,最后把构造好的子查询作为临时表t2传入get()方法执行
  • 最终生成的SQL与你给出的目标语句完全一致:SELECT * FROM (SELECT * FROM users WHERE eventId=34) as t2 WHERE name like "%alex%" or email like "%alex%"

内容的提问来源于stack exchange,提问作者vishal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 10:33:59