当前位置:网站首页>gorm联表查询-实战
gorm联表查询-实战
2022-08-05 00:11:00 【景行三千】
gorm联表查询-实战
缘起
- 做一个政府项目遇到的一个项目需求所需要的技术
- 需求背景大概是这样:有一张
workers表,一张worker_records表,工作人员的信息记录在workers表,同时当工作人员上班时候会打卡,而打卡记录就在这个worker_records表
| workers表部分需要用到字段如下 | worker_records表部分需要用到字段如下 |
|---|---|
| gzryxm——意为:工作人员姓名 | gzrxm——意为:工作人姓名 |
| gzrysjh——意为:工作人员手机号 | gzrsjh——意为:工作人手机号 |
| gzrysfz——意为:工作人员身份证 | gzrsfz——意为:工作人身份证 |
身份证号唯一
需求:拿到未打卡人的姓名,手机号,身份证号
画出图就是以下这样

gorm实现
db.Model(&Worker{
}).
Select("workers.csbh,workers.gzryxm,workers.gzrysjh,workers.gzrysfz").
Joins("left join worker_records on workers.gzrysfz = worker_records.gzrsfz").
Where("worker_records.gzrsfz", nil).
Scan(¬ClockedInPeopleAll)
MySQL原生实现
SELECT w.gzryxm,w.gzrysjh,w.gzrysfz
FROM workers w
LEFT JOIN worker_records wr
ON w.gzrysfz = wr.gzrsfz
WHERE wr.gzrsfz IS NULL
如此便实现了需求所需。
拓展
两表联表查询具体可以分为七种,见网图如下:

边栏推荐
猜你喜欢

Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters

2022牛客暑期多校训练营5(BCDFGHK)

OpenCV:10特征检测

NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path

VMware NSX 4.0 -- 网络安全虚拟化平台

标识符、关键字、常量 和变量(C语言)

三大技巧让你成功入门3D建模,零基础小白必看

【七夕情人节特效】-- canvas实现满屏爱心

【LeetCode】双指针题解汇总

Cloud native - Kubernetes 】 【 scheduling constraints
随机推荐
RK3399平台开发系列讲解(内核调试篇)2.50、嵌入式产品启动速度优化
招标公告 | 海纳百创公众号运维项目
How to burn the KT148A voice chip into the chip through the serial port and the tools on the computer
统计单词(DAY 101)华中科技大学考研机试题
克服项目管理中恐惧心理
typeScript - Partially apply a function
"Relish Podcast" #397 The factory manager is here: How to use technology to empower the law?
OpenCV:10特征检测
Chinese and Japanese color style
【七夕情人节特效】-- canvas实现满屏爱心
KT148A电子语音芯片ic方案适用的场景以及常见产品类型
再肝3天,整理了90个 NumPy 例子,不能不收藏!
jenkins发送邮件系统配置
ARC129E Yet Another Minimization 题解 【网络流笔记】
2022年华数杯数学建模
怎样进行在不改变主线程执行的时候,进行日志的记录
子连接中的参数传递
The role of @ Import annotations as well as how to use
[LeetCode] Summary of Matrix Simulation Related Topics
Day118. Shangyitong: order list, details, payment