mysql - 标题和名称的 MySQL 字符串连接
问题描述
我有 2 个表 Patient 表和 Title 表
患者表 3 字段
PatientTableID FirstName PatTitleLookup
1 John (Value Stored as integer)
2 Mary (Value Stored as integer)
标题表 2 字段
ID Title
1 Mr.
2 Ms.
我想连接标题和名字
所以我用这个
SELECT CONCAT(`PatientTable`.`PatTitleLookup`, '. ', `PatientTable`.`FirstName`)
FROM `PatientTable`
WHERE `PatientTable`.`PatientTableID` = 1
我得到“1.John”而不是“Mr. John”“2.Mary”而不是“Ms. Mary”
请告知我确定我的语法是错误的
解决方案
您需要加入title
s 表以从中获取值。使用on
数据应该如何join
。
SELECT CONCAT(t.title, '. ', pt.FirstName)
FROM PatientTable as pt
join Title as t
on pt.PatTitleLookup = t.id
WHERE pt.PatientTableID = 1
我还在这里为您的表使用了别名 ( as pt
, as t
),使稍后在查询中的引用更短。
推荐阅读
- sql - 计算效率 - I/O
- android - 在 Room 中调用自定义 SQLite 函数
- python - 轻型 GBM 模型的贝叶斯优化
- java - 使用 RxJava (Room) 获取插入 ID
- neovim - 在 Linux 上的 neovim 中使用 dosini 文件自动折叠
- java - 如何禁用远程调试
- python - 我如何使用 % 占位符在 python 中写一些东西?
- azure - 如何在 reg 表达式中使用模糊搜索?
- javascript - 接收 Promise 的自定义 Hook
- android - 独特的 buildConfigField,适用于所有具有维度的风格