当前位置:网站首页>thinkphp6 无关联ID的连表查询(2张表)主要是select的应用
thinkphp6 无关联ID的连表查询(2张表)主要是select的应用
2022-06-23 03:50:00 【mercenary's L】
于此感谢帮助我弄明白的大佬:PHP菜鸟、夕阳的大哥、QQ老牛、QQ小夕
$sql="SELECT *,(SELECT GROUP_CONCAT(`name`) FROM orde_type WHERE FIND_IN_SET(id,`orde`.type)) as typename FROM `orde` limit 1,100 ";
自己的理解是:搜索order表里的所有内容和另一张表的内容,另一张表的ID要在orde的type这个集合里被包含,也就是说orde_type表的ID在orde表type字段里要有,as 别名typename是为了方便之后的数据操作。
搜索orde_type这张表时,但是这样同一个名字出现多次,看上去非常不直观。有没有更直观的方法,既让每个名字都只出现一次,又能够显示所有的名字相同的人的id呢?——使用group_concat()。之后的所有意思都是和普通的select * from where (条件)一样了。
1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
这是我自己在thinkPHP6的框架里分解链式查询:::
$list=Db::name('orde')//搜索的主表
//主表要搜索的字段,我这里是全部字段。分表的搜索结果与主表放在一起返回,field里面可以写搜索的select语句,但是需要是在sql里先运行你自己的原生
//sql 语句确保没错再放入,
->field("*,(SELECT GROUP_CONCAT(`name`) FROM orde_type WHERE FIND_IN_SET(id,`orde`.type)) as typename")
->limit(1,100)
->paginate(2);
$page = $list->render();
return view('index', [
'list' => $list,
'page' => $page,
]);
边栏推荐
- How to use MySQL index well
- Pta:6-73 function call
- PTA:7-31 期刊收费
- ② cocoapods原理及 PodSpec 文件上传操作
- #18生成器函数的参数传递
- Implementation of VGA protocol based on FPGA
- PTA: price of 7-65 beverage
- Monitoring artifact ZABBIX, from deployment to application, goes deep layer by layer
- [Shangshui Shuo series] day three - preview4
- C语言刷题随记 —— 自由落体的球
猜你喜欢

Introduction to deep learning

Latest programming language rankings

Mobile terminal city list sorting JS plug-in vertitylist js

Cocos学习日记1——节点

X24cxx series EEPROM chip C language universal reading and writing program

volatile 与线程的那些事

② cocoapods原理及 PodSpec 文件上传操作

How to make the page number start from the specified page in word

How to use shell script to monitor file changes

Chrome调试技巧
随机推荐
国家药品不良反应监测中心 ADR 电子传输EDI解决方案
Pta:6-71 clock simulation
What are the characteristics of SRM supplier management system developed by manufacturing enterprises
Implementation of VGA protocol based on FPGA
Fundamentals of 3D mathematics [16] formulas for uniformly accelerated linear motion
【深度学习】深度学习推理框架 TensorRT MNN OpenVINO ONNXRuntime
大一学生课设c——服装管理系统
Avltree - arbre de recherche binaire équilibré
给你的AppImage创建桌面快捷方式
OpenJudge NOI 1.13 51:古代密码
32单片机一个变量多个.c里使用
After Huawei online battle service players quickly match, different players receive different lists of players in the same room
LabVIEW在同一表中同时显示十六进制字符和普通字符
Redis启动有问题
How MySQL deletes a row of data in a table
解决使用Exception抛出后,@Transactional不生效
PTA:7-67 友元很简单2016final
PTA: spacing of 7-69 data
QT elidedText 只对中文符合起作用,对英文不起作用的问题解决
Leetcode 1208. Try to make the strings equal as much as possible (finally solved, good night)