首页 > 解决方案 > 标题和名称的 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”

请告知我确定我的语法是错误的

标签: mysqlgroup-concat

解决方案


您需要加入titles 表以从中获取值。使用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),使稍后在查询中的引用更短。


推荐阅读