thinkphp 5 实现UNION ALL 3个联表查询,并且带上搜索条件,名称,时间,手机号

这篇具有很好参考价值的文章主要介绍了thinkphp 5 实现UNION ALL 3个联表查询,并且带上搜索条件,名称,时间,手机号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在ThinkPHP 5中实现带有搜索条件、名称、时间和手机号的3个联表查询(UNION ALL),您可以按照以下步骤进行操作:

  1. 确保已经配置好数据库连接信息和相关的模型。

  2. 使用union()方法来构建3个联表查询,同时在每个查询中添加所需的搜索条件、名称、时间和手机号。

use think\Db;

// 构建第一个查询
$query1 = Db::table('table1')
    ->field('column1, column2, "table1" as source')
    ->where('name', 'like', '%关键词%')
    ->where('create_time', '>', '2023-01-01')
    ->where('phone', 'like', '手机号%');

// 构建第二个查询
$query2 = Db::table('table2')
    ->field('column3, column4, "table2" as source')
    ->where('name', 'like', '%关键词%')
    ->where('create_time', '>', '2023-01-01')
    ->where('phone', 'like', '手机号%');

// 构建第三个查询
$query3 = Db::table('table3')
    ->field('column5, column6, "table3" as source')
    ->where('name', 'like', '%关键词%')
    ->where('create_time', '>', '2023-01-01')
    ->where('phone', 'like', '手机号%');

// 合并查询并添加UNION ALL
$unionQuery = $query1->union($query2, true) // 设置为true以保留重复记录
    ->union($query3, true); // 设置为true以保留重复记录

// 获取查询结果
$result = $unionQuery->select();

在上述代码中,您需要将table1table2table3,以及相应的字段、名称、时间和手机号字段,替换为实际的表名和字段名。将关键词关键词替换为您希望搜索的关键词,2023-01-01替换为您希望的起始时间,手机号替换为您希望匹配的手机号开头。

  1. 最后,您可以通过$result变量来获取联表查询的结果。

请注意,代码中的table1table2table3等应该替换为您实际的表名,而column1column2column3等应该替换为您需要查询的字段名。根据您的实际情况进行适当的修改和调整。文章来源地址https://www.toymoban.com/news/detail-657003.html

到了这里,关于thinkphp 5 实现UNION ALL 3个联表查询,并且带上搜索条件,名称,时间,手机号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GaussDB数据库SQL系列-UNION & UNION ALL

    目录 一、前言 二、GaussDB  UNION/UNION ALL 1、GaussDB UNION 操作符 2、语法定义 三、GaussDB实验示例 1、创建实验表 2、合并且除重(UNION) 3、合并不除重(UNION ALL) 4、合并带有WHERE子句SQL结果集(UNION ALL) 5、业务逻辑除重后合并(UNION ALL) 四、GaussDB UNION常见错误 1、“each UNION que

    2024年02月12日
    浏览(54)
  • union all简写xml

    2024年02月13日
    浏览(39)
  • MySQL的CRUD操作&&函数介绍&&union和union all

    目录 一. CRUD(增删改查) 1.1 SELECT(查询) 概念 语法 含义  1.2 INSERT(新增) 概念 语法 含义 1.3 UPDATE(修改) 语法 含义 1.4 DELETE(删除) 语法 含义 二. 函数 2.1 常见函数 字符函数 数字函数 日期函数 2.2 流程控制函数 语法  示例 2.3 聚合函数 三. UNION与UNION ALL 概念 语法 专

    2024年01月23日
    浏览(43)
  • mysql之CRUD和常见函数和UNION 和 UNION ALL

    CRUD 是数据库操作的基本操作,代表了创建(Create)、读取(Read)、更新(Update)和删除(Delete)四个常见的数据库操作。下面是 MySQL 中进行 CRUD 操作的详细介绍: 使用 INSERT INTO 语句可以向表中插入新的记录。 INSERT INTO your_table_name (column1, column2, column3, …) VALUES (value1, val

    2024年02月02日
    浏览(47)
  • [SQL挖掘机] - 多表连接: union all

    sql中的 union all 是用于合并两个或多个select语句的结果集的操作符。与 union 不同的是, union all 不会自动去除重复的行,它会简单地将多个查询的结果集合并在一起,包括重复的行。 union all 的基本语法如下: 其中, select_statement1 和 select_statement2 是两个或多个select语句,它们

    2024年02月15日
    浏览(44)
  • Full Join多个表与Union All多个表

    在Hive中(其他类似SQL,比如PostgreSQL可能也存在此问题),当对多张表(3张及以上)进行full join时,会存在每张表的主键都是唯一,但当full join后,会发现主键可能有重复。 2.1. 插入数据 2.2. 查询SQL以及问题 当执行如上查询SQL时,会发现其中 id = 4 的数据有重复,如下图所示

    2024年02月16日
    浏览(50)
  • Mysql,使用 UNION ALL 处理 ‘无中生有‘ 的数据。

               在日常的开发工作中,有时我们需要在SQL层面添加一些数据库表中没有的数据,那么我们就可以使用 UNION ALL 来解决。   一、简单的无中生有:在查询返回结果中添加数据        以下方的SQL1为例,我们根据 id 查询 user 表中的数据,但想将 name = \\\"燕双鹰

    2024年02月12日
    浏览(51)
  • Mysql 复杂查询丨联表查询

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 联表查询(Join)是一种在数据库中使用多个表进行关联查询的操作。它通过使用 JOIN 将多个表连接在一起,并根据关联条件从这些表中检索数据 INNER JOIN(内连接) 内连接(Inner Join)是一种在联表查询中使用的

    2024年02月13日
    浏览(38)
  • SqlSugar 5.联表查询

    用到的几个实体类 使用 CodeFirst 创建表 1.Join用法 1.1 语法糖1 优点:好理解,五个表以内的联表比较推荐 1.1.1 表和表的连接 若将 .Select((o, cus) = new ViewOrder { Id = o.Id, CustomName =cus.Name }) 修改成.Select((o, cus) = new ViewOrder()) 那就是查询所有字段 1.1.2 表和Queryable的连接 (主表左连了一

    2023年04月08日
    浏览(36)
  • Django 联表查询操作

    在日常的开发中,常常需要对多张数据表同时进行数据查询。多表查询需要在数据表之间建立表关系才能够实现。一对多或一对一的表关系是通过外键实现关联的,而多表查询分为正向查询和反向查询。 以歌手表、专辑表、单曲表查询为例子。 歌手与专辑为一对多关系;歌

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包